<alias name="DateDay" c:type="GDateDay">
<doc xml:space="preserve">Integer representing a day of the month; between 1 and 31.
#G_DATE_BAD_DAY represents an invalid day of the month.</doc>
-
<type name="guint8" c:type="guint8"/>
</alias>
<alias name="DateYear" c:type="GDateYear">
<doc xml:space="preserve">Integer representing a year; #G_DATE_BAD_YEAR is the invalid
value. The year must be 1 or higher; negative (BC) years are not
allowed. The year is represented with four digits.</doc>
-
<type name="guint16" c:type="guint16"/>
</alias>
<alias name="MainContextPusher" c:type="GMainContextPusher">
<doc xml:space="preserve">Opaque type. See g_main_context_pusher_new() for details.</doc>
-
<type name="none" c:type="void"/>
</alias>
<alias name="MutexLocker" c:type="GMutexLocker">
<doc xml:space="preserve">Opaque type. See g_mutex_locker_new() for details.</doc>
-
<type name="none" c:type="void"/>
</alias>
<alias name="Pid" c:type="GPid">
GPid is used in GLib only for descendant processes spawned with
the g_spawn functions.</doc>
-
<type name="gint" c:type="int"/>
</alias>
<alias name="Quark" c:type="GQuark">
<doc xml:space="preserve">A GQuark is a non-zero integer which uniquely identifies a
particular string. A GQuark value of zero is associated to %NULL.</doc>
-
<type name="guint32" c:type="guint32"/>
</alias>
<alias name="RWLockReaderLocker" c:type="GRWLockReaderLocker">
<doc xml:space="preserve">Opaque type. See g_rw_lock_reader_locker_new() for details.</doc>
-
<type name="none" c:type="void"/>
</alias>
<alias name="RWLockWriterLocker" c:type="GRWLockWriterLocker">
<doc xml:space="preserve">Opaque type. See g_rw_lock_writer_locker_new() for details.</doc>
-
<type name="none" c:type="void"/>
</alias>
<alias name="RecMutexLocker" c:type="GRecMutexLocker">
<doc xml:space="preserve">Opaque type. See g_rec_mutex_locker_new() for details.</doc>
-
<type name="none" c:type="void"/>
</alias>
<alias name="RefString" c:type="GRefString">
If using #GRefString with autocleanups, g_autoptr() must be used rather than
g_autofree(), so that the reference counting metadata is also freed.</doc>
-
<type name="gchar" c:type="char"/>
</alias>
<alias name="Strv" c:type="GStrv">
<doc xml:space="preserve">A typedef alias for gchar**. This is mostly useful when used together with
g_auto().</doc>
-
<type name="utf8" c:type="gchar**"/>
</alias>
<alias name="Time" c:type="GTime" deprecated="1" deprecated-version="2.62">
]|</doc>
<doc-deprecated xml:space="preserve">This is not [Y2038-safe](https://en.wikipedia.org/wiki/Year_2038_problem).
Use #GDateTime or #time_t instead.</doc-deprecated>
-
<type name="gint32" c:type="gint32"/>
</alias>
<alias name="TimeSpan" c:type="GTimeSpan">
<doc xml:space="preserve">A value representing an interval of time, in microseconds.</doc>
-
<type name="gint64" c:type="gint64"/>
</alias>
<alias name="Type" c:type="GType">
-
<type name="gsize" c:type="gsize"/>
</alias>
<function-macro name="ALIGNOF" c:identifier="G_ALIGNOF" version="2.60" introspectable="0">
`__alignof__` operator, which returns the preferred alignment for a type.
The preferred alignment may be a stricter alignment than the minimal
alignment.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">a type-name</doc>
</parameters>
</function-macro>
<constant name="ANALYZER_ANALYZING" value="1" c:type="G_ANALYZER_ANALYZING">
-
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="APPROX_VALUE" c:identifier="G_APPROX_VALUE" version="2.58" introspectable="0">
- `G_APPROX_VALUE (3.14, 3.15, 0.001)` evaluates to false
- `G_APPROX_VALUE (n, 0.f, FLT_EPSILON)` evaluates to true if `n` is within
the single precision floating point epsilon from zero</doc>
-
<parameters>
<parameter name="a">
<doc xml:space="preserve">a numeric value</doc>
fprintf (out, "value=%s\n", g_ascii_dtostr (buf, sizeof (buf), value));
]|</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="ATEXIT" c:identifier="g_ATEXIT" introspectable="0">
-
<parameters>
<parameter name="proc">
</parameter>
</function-macro>
<record name="Array" c:type="GArray" glib:type-name="GArray" glib:get-type="g_array_get_type" c:symbol-prefix="array">
<doc xml:space="preserve">Contains the public fields of a GArray.</doc>
-
<field name="data" writable="1">
<doc xml:space="preserve">a pointer to the element data. The data may be moved as
elements are added to the #GArray.</doc>
</field>
<function name="append_vals" c:identifier="g_array_append_vals" introspectable="0">
<doc xml:space="preserve">Adds @len elements onto the end of the array.</doc>
-
<return-value>
<doc xml:space="preserve">the #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
gboolean result = g_array_binary_search (garray, &i, cmpint, &matched_index);
...
]|</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @target is one of the elements of @array, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="copy" c:identifier="g_array_copy" version="2.62" introspectable="0">
<doc xml:space="preserve">Create a shallow copy of a #GArray. If the array elements consist of
pointers to data, the pointers are copied but the actual data is not.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">A copy of @array.</doc>
<array name="GLib.Array" c:type="GArray*">
This function is not thread-safe. If using a #GArray from multiple
threads, use only the atomic g_array_ref() and g_array_unref()
functions.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the element data if @free_segment is %FALSE, otherwise
%NULL. The element data should be freed using g_free().</doc>
</function>
<function name="get_element_size" c:identifier="g_array_get_element_size" version="2.22" introspectable="0">
<doc xml:space="preserve">Gets the size of the elements in @array.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Size of each element, in bytes</doc>
<type name="guint" c:type="guint"/>
@data may be %NULL if (and only if) @len is zero. If @len is zero, this
function is a no-op.</doc>
-
<return-value>
<doc xml:space="preserve">the #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
</function>
<function name="new" c:identifier="g_array_new" introspectable="0">
<doc xml:space="preserve">Creates a new #GArray with a reference count of 1.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
This operation is slower than g_array_append_vals() since the
existing elements in the array have to be moved to make space for
the new elements.</doc>
-
<return-value>
<doc xml:space="preserve">the #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
<function name="ref" c:identifier="g_array_ref" version="2.22" introspectable="0">
<doc xml:space="preserve">Atomically increments the reference count of @array by one.
This function is thread-safe and may be called from any thread.</doc>
-
<return-value>
<doc xml:space="preserve">The passed in #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
<function name="remove_index" c:identifier="g_array_remove_index" introspectable="0">
<doc xml:space="preserve">Removes the element at the given index from a #GArray. The following
elements are moved down one place.</doc>
-
<return-value>
<doc xml:space="preserve">the #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
element in the array is used to fill in the space, so this function
does not preserve the order of the #GArray. But it is faster than
g_array_remove_index().</doc>
-
<return-value>
<doc xml:space="preserve">the #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
<function name="remove_range" c:identifier="g_array_remove_range" version="2.4" introspectable="0">
<doc xml:space="preserve">Removes the given number of elements starting at the given index
from a #GArray. The following elements are moved to close the gap.</doc>
-
<return-value>
<doc xml:space="preserve">the #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
Note that in contrast with other uses of #GDestroyNotify
functions, @clear_func is expected to clear the contents of
the array element it is given, but not free the element itself.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="set_size" c:identifier="g_array_set_size" introspectable="0">
<doc xml:space="preserve">Sets the size of the array, expanding it if necessary. If the array
was created with @clear_ set to %TRUE, the new elements are set to 0.</doc>
-
<return-value>
<doc xml:space="preserve">the #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
a reference count of 1. This avoids frequent reallocation, if you
are going to add many elements to the array. Note however that the
size of the array is still 0.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GArray</doc>
<array name="GLib.Array" c:type="GArray*">
greater than second arg).
This is guaranteed to be a stable sort since version 2.32.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
There used to be a comment here about making the sort stable by
using the addresses of the elements in the comparison function.
This did not actually work, so any such code should be removed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
data = g_array_steal (some_array, &data_len);
...
]|</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the element data, which should be
freed using g_free().</doc>
reference count drops to 0, all memory allocated by the array is
released. This function is thread-safe and may be called from any
thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
</record>
<bitfield name="AsciiType" c:type="GAsciiType">
-
<member name="alnum" value="1" c:identifier="G_ASCII_ALNUM">
</member>
<member name="alpha" value="2" c:identifier="G_ASCII_ALPHA">
<doc xml:space="preserve">The GAsyncQueue struct is an opaque data structure which represents
an asynchronous queue. It should only be accessed through the
g_async_queue_* functions.</doc>
-
<method name="length" c:identifier="g_async_queue_length">
<doc xml:space="preserve">Returns the length of the queue.
entries in the @queue. A return value of 0 could mean n entries
in the queue and n threads waiting. This can happen due to locking
of the queue or due to scheduling.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the @queue</doc>
<type name="gint" c:type="gint"/>
of the queue or due to scheduling.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the @queue.</doc>
<type name="gint" c:type="gint"/>
While holding the lock, you can only call the
g_async_queue_*_unlocked() functions on @queue. Otherwise,
deadlock may occur.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="pop" c:identifier="g_async_queue_pop">
<doc xml:space="preserve">Pops data from the @queue. If @queue is empty, this function
blocks until data becomes available.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue</doc>
<type name="gpointer" c:type="gpointer"/>
blocks until data becomes available.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue.</doc>
<type name="gpointer" c:type="gpointer"/>
</method>
<method name="push" c:identifier="g_async_queue_push">
<doc xml:space="preserve">Pushes the @data into the @queue. @data must not be %NULL.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
In contrast to g_async_queue_push(), this function
pushes the new item ahead of the items already in the queue,
so that it will be the next one to be popped off the queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
so that it will be the next one to be popped off the queue.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
it when it is finished.
For an example of @func see g_async_queue_sort().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function must be called while holding the @queue's lock.
For an example of @func see g_async_queue_sort().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Pushes the @data into the @queue. @data must not be %NULL.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="ref" c:identifier="g_async_queue_ref" introspectable="0">
<doc xml:space="preserve">Increases the reference count of the asynchronous @queue by 1.
You do not need to hold the lock to call this function.</doc>
-
<return-value>
<doc xml:space="preserve">the @queue that was passed in (since 2.6)</doc>
<type name="AsyncQueue" c:type="GAsyncQueue*"/>
<doc-deprecated xml:space="preserve">Reference counting is done atomically.
so g_async_queue_ref() can be used regardless of the @queue's
lock.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="remove" c:identifier="g_async_queue_remove" version="2.46">
<doc xml:space="preserve">Remove an item from the queue.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the item was removed</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Remove an item from the queue.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the item was removed</doc>
<type name="gboolean" c:type="gboolean"/>
return (id1 > id2 ? +1 : id1 == id2 ? 0 : -1);
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
element.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
To easily calculate @end_time, a combination of g_get_real_time()
and g_time_val_add() can be used.</doc>
<doc-deprecated xml:space="preserve">use g_async_queue_timeout_pop().</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue or %NULL, when no data is
received before @end_time.</doc>
This function must be called while holding the @queue's lock.</doc>
<doc-deprecated xml:space="preserve">use g_async_queue_timeout_pop_unlocked().</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue or %NULL, when no data is
received before @end_time.</doc>
@timeout microseconds, or until data becomes available.
If no data is received before the timeout, %NULL is returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue or %NULL, when no data is
received before the timeout.</doc>
If no data is received before the timeout, %NULL is returned.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue or %NULL, when no data is
received before the timeout.</doc>
<method name="try_pop" c:identifier="g_async_queue_try_pop">
<doc xml:space="preserve">Tries to pop data from the @queue. If no data is available,
%NULL is returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue or %NULL, when no data is
available immediately.</doc>
%NULL is returned.
This function must be called while holding the @queue's lock.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">data from the queue or %NULL, when no data is
available immediately.</doc>
Calling this function when you have not acquired
the with g_async_queue_lock() leads to undefined
behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
and the memory allocated will be freed. So you are not allowed
to use the @queue afterwards, as it might have disappeared.
You do not need to hold the lock to call this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc-deprecated xml:space="preserve">Reference counting is done atomically.
so g_async_queue_unref() can be used regardless of the @queue's
lock.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<function name="new" c:identifier="g_async_queue_new" introspectable="0">
<doc xml:space="preserve">Creates a new asynchronous queue.</doc>
-
<return-value>
<doc xml:space="preserve">a new #GAsyncQueue. Free with g_async_queue_unref()</doc>
<type name="AsyncQueue" c:type="GAsyncQueue*"/>
<doc xml:space="preserve">Creates a new asynchronous queue and sets up a destroy notify
function that is used to free any remaining queue items when
the queue is destroyed after the final unref.</doc>
-
<return-value>
<doc xml:space="preserve">a new #GAsyncQueue. Free with g_async_queue_unref()</doc>
<type name="AsyncQueue" c:type="GAsyncQueue*"/>
<constant name="BIG_ENDIAN" value="4321" c:type="G_BIG_ENDIAN">
<doc xml:space="preserve">Specifies one of the possible types of byte order.
See #G_BYTE_ORDER.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<record name="BookmarkFile" c:type="GBookmarkFile" disguised="1">
<doc xml:space="preserve">The `GBookmarkFile` structure contains only
private data and should not be directly accessed.</doc>
-
<method name="add_application" c:identifier="g_bookmark_file_add_application" version="2.12">
<doc xml:space="preserve">Adds the application with @name and @exec to the list of
applications that have registered a bookmark for @uri into
@uri inside @bookmark.
If no bookmark for @uri is found, one is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
belongs to.
If no bookmark for @uri is found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="free" c:identifier="g_bookmark_file_free" version="2.12">
<doc xml:space="preserve">Frees a #GBookmarkFile.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_get_added_date_time() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a timestamp</doc>
<type name="glong" c:type="time_t"/>
In the event the URI cannot be found, %NULL is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GDateTime</doc>
<type name="DateTime" c:type="GDateTime*"/>
set and %FALSE is returned.</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_get_application_info() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting
the command line fails, an error of the #G_SHELL_ERROR domain is
set and %FALSE is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
In the event the URI cannot be found, %NULL is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated %NULL-terminated array of strings.
Use g_strfreev() to free it.</doc>
In the event the URI cannot be found, %NULL is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string or %NULL if the specified
URI cannot be found.</doc>
The returned array is %NULL terminated, so @length may optionally
be %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated %NULL-terminated array of group names.
Use g_strfreev() to free it.</doc>
In the event the URI cannot be found, %FALSE is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the icon for the bookmark for the URI was found.
You should free the returned strings.</doc>
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
event that the private flag cannot be found, %FALSE is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the private flag is set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
event that the MIME type cannot be found, %NULL is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string or %NULL if the specified
URI cannot be found.</doc>
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_get_modified_date_time() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a timestamp</doc>
<type name="glong" c:type="time_t"/>
In the event the URI cannot be found, %NULL is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GDateTime</doc>
<type name="DateTime" c:type="GDateTime*"/>
</method>
<method name="get_size" c:identifier="g_bookmark_file_get_size" version="2.12">
<doc xml:space="preserve">Gets the number of bookmarks inside @bookmark.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bookmarks</doc>
<type name="gint" c:type="gint"/>
In the event the URI cannot be found, %NULL is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string or %NULL if the specified
URI cannot be found.</doc>
<doc xml:space="preserve">Returns all URIs of the bookmarks in the bookmark file @bookmark.
The array of returned URIs will be %NULL-terminated, so @length may
optionally be %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated %NULL-terminated array of strings.
Use g_strfreev() to free it.</doc>
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_get_visited_date_time() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a timestamp.</doc>
<type name="glong" c:type="time_t"/>
In the event the URI cannot be found, %NULL is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GDateTime</doc>
<type name="DateTime" c:type="GDateTime*"/>
In the event the URI cannot be found, %FALSE is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the application @name was found</doc>
<type name="gboolean" c:type="gboolean"/>
In the event the URI cannot be found, %FALSE is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @group was found.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="has_item" c:identifier="g_bookmark_file_has_item" version="2.12">
<doc xml:space="preserve">Looks whether the desktop bookmark has an item with its URI set to @uri.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @uri is inside @bookmark, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Loads a bookmark file from memory into an empty #GBookmarkFile
structure. If the object cannot be created then @error is set to a
#GBookmarkFileError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a desktop bookmark could be loaded.</doc>
<type name="gboolean" c:type="gboolean"/>
loads the file into @bookmark and returns the file's full path in
@full_path. If the file could not be loaded then @error is
set to either a #GFileError or #GBookmarkFileError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a key file could be loaded, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Loads a desktop bookmark file into an empty #GBookmarkFile structure.
If the file could not be loaded then @error is set to either a #GFileError
or #GBookmarkFileError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a desktop bookmark file could be loaded</doc>
<type name="gboolean" c:type="gboolean"/>
In the event the URI cannot be found, %FALSE is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the URI was successfully changed</doc>
<type name="gboolean" c:type="gboolean"/>
In the event that no application with name @app_name has registered
a bookmark for @uri, %FALSE is returned and error is set to
#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the application was successfully removed.</doc>
<type name="gboolean" c:type="gboolean"/>
@error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND.
In the event no group was defined, %FALSE is returned and
@error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @group was successfully removed.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="remove_item" c:identifier="g_bookmark_file_remove_item" version="2.12" throws="1">
<doc xml:space="preserve">Removes the bookmark for @uri from the bookmark file @bookmark.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the bookmark was removed successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
If no bookmark for @uri is found then it is created.</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_set_added_date_time() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the time the bookmark for @uri was added into @bookmark.
If no bookmark for @uri is found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
for @uri is found, one is created.</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_set_application_info() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the application's meta-data was successfully
changed.</doc>
for @uri, %FALSE is returned and error is set to
#G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark
for @uri is found, one is created.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the application's meta-data was successfully
changed.</doc>
If @uri is %NULL, the description of @bookmark is set.
If a bookmark for @uri cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
set group name list is removed.
If @uri cannot be found then an item for it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
file or the icon name following the Icon Naming specification.
If no bookmark for @uri is found one is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the private flag of the bookmark for @uri.
If a bookmark for @uri cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets @mime_type as the MIME type of the bookmark for @uri.
If a bookmark for @uri cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_bookmark_file_set_visited_date_time().</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_set_modified_date_time() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
was actually changed. Every function of #GBookmarkFile that
modifies a bookmark also changes the modification time, except for
g_bookmark_file_set_visited_date_time().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @uri is %NULL, the title of @bookmark is set.
If a bookmark for @uri cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
does not affect the "modified" time.</doc>
<doc-deprecated xml:space="preserve">Use g_bookmark_file_set_visited_date_time() instead, as
`time_t` is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
or by the default application for the bookmark's MIME type, retrieved
using g_bookmark_file_get_mime_type(). Changing the "visited" time
does not affect the "modified" time.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="to_data" c:identifier="g_bookmark_file_to_data" version="2.12" throws="1">
<doc xml:space="preserve">This function outputs @bookmark as a string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
a newly allocated string holding the contents of the #GBookmarkFile</doc>
<method name="to_file" c:identifier="g_bookmark_file_to_file" version="2.12" throws="1">
<doc xml:space="preserve">This function outputs @bookmark into a file. The write process is
guaranteed to be atomic by using g_file_set_contents() internally.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was successfully written.</doc>
<type name="gboolean" c:type="gboolean"/>
Use g_bookmark_file_load_from_file(), g_bookmark_file_load_from_data()
or g_bookmark_file_load_from_data_dirs() to read an existing bookmark
file.</doc>
-
<return-value>
<doc xml:space="preserve">an empty #GBookmarkFile</doc>
<type name="BookmarkFile" c:type="GBookmarkFile*"/>
</record>
<enumeration name="BookmarkFileError" c:type="GBookmarkFileError" glib:error-domain="g-bookmark-file-error-quark">
<doc xml:space="preserve">Error codes returned by bookmark file parsing.</doc>
-
<member name="invalid_uri" value="0" c:identifier="G_BOOKMARK_FILE_ERROR_INVALID_URI">
<doc xml:space="preserve">URI was ill-formed</doc>
</member>
</enumeration>
<record name="ByteArray" c:type="GByteArray" glib:type-name="GByteArray" glib:get-type="g_byte_array_get_type" c:symbol-prefix="byte_array">
<doc xml:space="preserve">Contains the public fields of a GByteArray.</doc>
-
<field name="data" writable="1">
<doc xml:space="preserve">a pointer to the element data. The data may be moved as
elements are added to the #GByteArray</doc>
<function name="append" c:identifier="g_byte_array_append" introspectable="0">
<doc xml:space="preserve">Adds the given bytes to the end of the #GByteArray.
The array will grow in size automatically if necessary.</doc>
-
<return-value>
<doc xml:space="preserve">the #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
%TRUE it frees the actual byte data. If the reference count of
@array is greater than one, the #GByteArray wrapper is preserved but
the size of @array will be set to zero.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the element data if @free_segment is %FALSE, otherwise
%NULL. The element data should be freed using g_free().</doc>
This is identical to using g_bytes_new_take() and g_byte_array_free()
together.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new immutable #GBytes representing same
byte data that was in the array</doc>
</function>
<function name="new" c:identifier="g_byte_array_new">
<doc xml:space="preserve">Creates a new #GByteArray with a reference count of 1.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
</function>
<function name="new_take" c:identifier="g_byte_array_new_take" version="2.32">
<doc xml:space="preserve">Create byte array containing the data. The data will be owned by the array
-and will be freed with g_free(), i.e. it could be allocated using g_strdup().</doc>
-
+and will be freed with g_free(), i.e. it could be allocated using g_strdup().
+
+Do not use it if @len is greater than %G_MAXUINT. #GByteArray
+stores the length of its data in #guint, which may be shorter than
+#gsize.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
<function name="prepend" c:identifier="g_byte_array_prepend" introspectable="0">
<doc xml:space="preserve">Adds the given data to the start of the #GByteArray.
The array will grow in size automatically if necessary.</doc>
-
<return-value>
<doc xml:space="preserve">the #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
<function name="ref" c:identifier="g_byte_array_ref" version="2.22" introspectable="0">
<doc xml:space="preserve">Atomically increments the reference count of @array by one.
This function is thread-safe and may be called from any thread.</doc>
-
<return-value>
<doc xml:space="preserve">The passed in #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
<function name="remove_index" c:identifier="g_byte_array_remove_index" introspectable="0">
<doc xml:space="preserve">Removes the byte at the given index from a #GByteArray.
The following bytes are moved down one place.</doc>
-
<return-value>
<doc xml:space="preserve">the #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
element in the array is used to fill in the space, so this function
does not preserve the order of the #GByteArray. But it is faster
than g_byte_array_remove_index().</doc>
-
<return-value>
<doc xml:space="preserve">the #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
<function name="remove_range" c:identifier="g_byte_array_remove_range" version="2.4" introspectable="0">
<doc xml:space="preserve">Removes the given number of bytes starting at the given index from a
#GByteArray. The following elements are moved to close the gap.</doc>
-
<return-value>
<doc xml:space="preserve">the #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
</function>
<function name="set_size" c:identifier="g_byte_array_set_size" introspectable="0">
<doc xml:space="preserve">Sets the size of the #GByteArray, expanding it if necessary.</doc>
-
<return-value>
<doc xml:space="preserve">the #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
This avoids frequent reallocation, if you are going to add many
bytes to the array. Note however that the size of the array is still
0.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
you want a stable sort) you can write a comparison function that,
if two elements would otherwise compare equal, compares them by
their addresses.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="sort_with_data" c:identifier="g_byte_array_sort_with_data" introspectable="0">
<doc xml:space="preserve">Like g_byte_array_sort(), but the comparison function takes an extra
user data argument.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Frees the data in the array and resets the size to zero, while
the underlying array is preserved for use elsewhere and returned
to the caller.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the element data, which should be
freed using g_free().</doc>
reference count drops to 0, all memory allocated by the array is
released. This function is thread-safe and may be called from any
thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
array of bytes see #GByteArray. Use g_bytes_unref_to_array() to create a
mutable array for a #GBytes sequence. To create an immutable #GBytes from
a mutable #GByteArray, use the g_byte_array_free_to_bytes() function.</doc>
-
<constructor name="new" c:identifier="g_bytes_new" version="2.32">
<doc xml:space="preserve">Creates a new #GBytes from @data.
@data is copied. If @size is 0, @data may be %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GBytes</doc>
<type name="Bytes" c:type="GBytes*"/>
@data must be static (ie: never modified or freed). It may be %NULL if @size
is 0.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GBytes</doc>
<type name="Bytes" c:type="GBytes*"/>
g_bytes_new_with_free_func().
@data may be %NULL if @size is 0.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GBytes</doc>
<type name="Bytes" c:type="GBytes*"/>
been called to indicate that the bytes is no longer in use.
@data may be %NULL if @size is 0.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GBytes</doc>
<type name="Bytes" c:type="GBytes*"/>
the longer one. Otherwise the first byte where both differ is used for
comparison. If @bytes1 has a smaller value at that position it is
considered less, otherwise greater than @bytes2.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a negative value if @bytes1 is less than @bytes2, a positive value
if @bytes1 is greater than @bytes2, and zero if @bytes1 is equal to
This function can be passed to g_hash_table_new() as the @key_equal_func
parameter, when using non-%NULL #GBytes pointers as keys in a #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the two keys match.</doc>
<type name="gboolean" c:type="gboolean"/>
%NULL may be returned if @size is 0. This is not guaranteed, as the #GBytes
may represent an empty string with @data non-%NULL and @size as 0. %NULL will
not be returned if @size is non-zero.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">
a pointer to the byte data, or %NULL</doc>
<doc xml:space="preserve">Get the size of the byte data in the #GBytes.
This function will always return the same value for a given #GBytes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size</doc>
<type name="gsize" c:type="gsize"/>
This function can be passed to g_hash_table_new() as the @key_hash_func
parameter, when using non-%NULL #GBytes pointers as keys in a #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a hash value corresponding to the key.</doc>
<type name="guint" c:type="guint"/>
is a slice of another #GBytes, then the resulting #GBytes will reference
the same #GBytes instead of @bytes. This allows consumers to simplify the
usage of #GBytes when asynchronously writing to streams.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GBytes</doc>
<type name="Bytes" c:type="GBytes*"/>
</method>
<method name="ref" c:identifier="g_bytes_ref" version="2.32">
<doc xml:space="preserve">Increase the reference count on @bytes.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GBytes</doc>
<type name="Bytes" c:type="GBytes*"/>
<method name="unref" c:identifier="g_bytes_unref" version="2.32">
<doc xml:space="preserve">Releases a reference on @bytes. This may result in the bytes being
freed. If @bytes is %NULL, it will return immediately.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
As an optimization, the byte data is transferred to the array without copying
if this was the last reference to bytes and bytes was created with
g_bytes_new(), g_bytes_new_take() or g_byte_array_free_to_bytes(). In all
-other cases the data is copied.</doc>
-
+other cases the data is copied.
+
+Do not use it if @bytes contains more than %G_MAXUINT
+bytes. #GByteArray stores the length of its data in #guint, which
+may be shorter than #gsize, that @bytes is using.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new mutable #GByteArray containing the same byte data</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
the last reference to bytes and bytes was created with g_bytes_new(),
g_bytes_new_take() or g_byte_array_free_to_bytes(). In all other cases the
data is copied.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the same byte data, which should be
freed with g_free()</doc>
<function-macro name="CHECK_VERSION" c:identifier="GLIB_CHECK_VERSION" introspectable="0">
<doc xml:space="preserve">Checks the version of the GLib library that is being compiled
against. See glib_check_version() for a runtime check.</doc>
-
<parameters>
<parameter name="major">
<doc xml:space="preserve">the major version to check for</doc>
<doc xml:space="preserve">The set of uppercase ASCII alphabet characters.
Used for specifying valid identifier characters
in #GScannerConfig.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="CSET_DIGITS" value="0123456789" c:type="G_CSET_DIGITS">
<doc xml:space="preserve">The set of ASCII digits.
Used for specifying valid identifier characters
in #GScannerConfig.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="CSET_a_2_z" value="abcdefghijklmnopqrstuvwxyz" c:type="G_CSET_a_2_z">
<doc xml:space="preserve">The set of lowercase ASCII alphabet characters.
Used for specifying valid identifier characters
in #GScannerConfig.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<record name="Checksum" c:type="GChecksum" version="2.16" glib:type-name="GChecksum" glib:get-type="g_checksum_get_type" c:symbol-prefix="checksum">
<doc xml:space="preserve">An opaque structure representing a checksumming operation.
To create a new GChecksum, use g_checksum_new(). To free
a GChecksum, use g_checksum_free().</doc>
-
<constructor name="new" c:identifier="g_checksum_new" version="2.16">
<doc xml:space="preserve">Creates a new #GChecksum, using the checksum algorithm @checksum_type.
If the @checksum_type is not known, %NULL is returned.
g_checksum_get_digest() have been called on a #GChecksum, the checksum
will be closed and it won't be possible to call g_checksum_update()
on it anymore.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GChecksum, or %NULL.
Use g_checksum_free() to free the memory allocated by it.</doc>
<type name="Checksum" c:type="GChecksum*"/>
<doc xml:space="preserve">Copies a #GChecksum. If @checksum has been closed, by calling
g_checksum_get_string() or g_checksum_get_digest(), the copied
checksum will be closed as well.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the copy of the passed #GChecksum. Use g_checksum_free()
- when finished using it.</doc>
+ <doc xml:space="preserve">the copy of the passed #GChecksum. Use
+ g_checksum_free() when finished using it.</doc>
<type name="Checksum" c:type="GChecksum*"/>
</return-value>
<parameters>
</method>
<method name="free" c:identifier="g_checksum_free" version="2.16">
<doc xml:space="preserve">Frees the memory allocated for @checksum.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Once this function has been called, the #GChecksum is closed and can
no longer be updated with g_checksum_update().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
updated with g_checksum_update().
The hexadecimal characters will be lower case.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the hexadecimal representation of the checksum. The
returned string is owned by the checksum and should not be modified
</method>
<method name="reset" c:identifier="g_checksum_reset" version="2.18">
<doc xml:space="preserve">Resets the state of the @checksum back to its initial state.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Feeds @data into an existing #GChecksum. The checksum must still be
open, that is g_checksum_get_string() or g_checksum_get_digest() must
not have been called on @checksum.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<function name="type_get_length" c:identifier="g_checksum_type_get_length" version="2.16">
<doc xml:space="preserve">Gets the length in bytes of digests of type @checksum_type</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the checksum length, or -1 if @checksum_type is
not supported.</doc>
Note that the #GChecksumType enumeration may be extended at a later
date to include new hashing algorithm types.</doc>
-
<member name="md5" value="0" c:identifier="G_CHECKSUM_MD5">
<doc xml:space="preserve">Use the MD5 hashing algorithm</doc>
</member>
<doc xml:space="preserve">Prototype of a #GChildWatchSource callback, called when a child
process has exited. To interpret @status, see the documentation
for g_spawn_check_exit_status().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The implementation is expected to free the resource identified
by @handle_id; for instance, if @handle_id is a #GSource ID,
g_source_remove() can be used.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
values. The function should return a negative integer if the first
value comes before the second, 0 if they are equal, or a positive
integer if the first value comes after the second.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">negative value if @a < @b; zero if @a = @b; positive
value if @a > @b</doc>
values. The function should return a negative integer if the first
value comes before the second, 0 if they are equal, or a positive
integer if the first value comes after the second.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">negative value if @a < @b; zero if @a = @b; positive
value if @a > @b</doc>
on it and g_cond_clear() when done.
A #GCond should only be accessed via the g_cond_ functions.</doc>
-
<field name="p" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
If no threads are waiting for @cond, this function has no effect.
It is good practice to lock the same mutex as the waiting threads
while calling this function, though not required.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Calling g_cond_clear() for a #GCond on which threads are
blocking leads to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Calling g_cond_init() on an already-initialised #GCond leads
to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If no threads are waiting for @cond, this function has no effect.
It is good practice to hold the same lock as the waiting thread
while calling this function, though not required.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
For this reason, g_cond_wait() must always be used in a loop. See
the documentation for #GCond for a complete example.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
directly to the call and a spurious wakeup occurred, the program would
have to start over waiting again (which would lead to a total wait
time of more than 5 seconds).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on a signal, %FALSE on a timeout</doc>
<type name="gboolean" c:type="gboolean"/>
</record>
<enumeration name="ConvertError" c:type="GConvertError" glib:error-domain="g_convert_error">
<doc xml:space="preserve">Error codes returned by character set conversion routines.</doc>
-
<member name="no_conversion" value="0" c:identifier="G_CONVERT_ERROR_NO_CONVERSION">
<doc xml:space="preserve">Conversion between the requested character
sets is not supported.</doc>
<callback name="CopyFunc" c:type="GCopyFunc" version="2.4">
<doc xml:space="preserve">A function of this signature is used to copy the node data
when doing a deep-copy of a tree.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A pointer to the copy</doc>
<type name="gpointer" c:type="gpointer"/>
<doc xml:space="preserve">A bitmask that restricts the possible flags passed to
g_datalist_set_flags(). Passing a flags value where
flags & ~G_DATALIST_FLAGS_MASK != 0 is an error.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="DATE_BAD_DAY" value="0" c:type="G_DATE_BAD_DAY">
<doc xml:space="preserve">Represents an invalid #GDateDay.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="DATE_BAD_JULIAN" value="0" c:type="G_DATE_BAD_JULIAN">
<doc xml:space="preserve">Represents an invalid Julian day number.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="DATE_BAD_YEAR" value="0" c:type="G_DATE_BAD_YEAR">
<doc xml:space="preserve">Represents an invalid year.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="DEFINE_AUTOPTR_CLEANUP_FUNC" c:identifier="G_DEFINE_AUTOPTR_CLEANUP_FUNC" version="2.44" introspectable="0">
This macro should be used unconditionally; it is a no-op on compilers
where cleanup is not supported.</doc>
-
<parameters>
<parameter name="TypeName">
<doc xml:space="preserve">a type name to define a g_autoptr() cleanup function for</doc>
This macro should be used unconditionally; it is a no-op on compilers
where cleanup is not supported.</doc>
-
<parameters>
<parameter name="TypeName">
<doc xml:space="preserve">a type name to define a g_auto() cleanup function for</doc>
This macro should be used unconditionally; it is a no-op on compilers
where cleanup is not supported.</doc>
-
<parameters>
<parameter name="TypeName">
<doc xml:space="preserve">a type name to define a g_auto() cleanup function for</doc>
Note that the quark name will be stringified automatically
in the macro, so you shouldn't use double quotes.</doc>
-
<parameters>
<parameter name="QN">
<doc xml:space="preserve">the name to return a #GQuark for</doc>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_26_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_26_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_28_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_28_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_30_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_30_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_32_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_32_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_34_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_34_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_36_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_36_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_38_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_38_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_40_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_40_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_42_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_42_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_44_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_44_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_46_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_46_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_48_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_48_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_50_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_50_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_52_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_52_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_54_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_54_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_56_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_56_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_58_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_58_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_60_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_60_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_62_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_62_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_64_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_64_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_ENUMERATOR_IN_2_66_FOR" c:identifier="GLIB_DEPRECATED_ENUMERATOR_IN_2_66_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
G_DEPRECATED_FOR(my_replacement)
int my_mistake (void);
]|</doc>
-
<parameters>
<parameter name="f">
<doc xml:space="preserve">the name of the function that this function was deprecated for</doc>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_26_FOR" c:identifier="GLIB_DEPRECATED_IN_2_26_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_28_FOR" c:identifier="GLIB_DEPRECATED_IN_2_28_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_30_FOR" c:identifier="GLIB_DEPRECATED_IN_2_30_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_32_FOR" c:identifier="GLIB_DEPRECATED_IN_2_32_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_34_FOR" c:identifier="GLIB_DEPRECATED_IN_2_34_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_36_FOR" c:identifier="GLIB_DEPRECATED_IN_2_36_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_38_FOR" c:identifier="GLIB_DEPRECATED_IN_2_38_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_40_FOR" c:identifier="GLIB_DEPRECATED_IN_2_40_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_42_FOR" c:identifier="GLIB_DEPRECATED_IN_2_42_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_44_FOR" c:identifier="GLIB_DEPRECATED_IN_2_44_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_46_FOR" c:identifier="GLIB_DEPRECATED_IN_2_46_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_48_FOR" c:identifier="GLIB_DEPRECATED_IN_2_48_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_50_FOR" c:identifier="GLIB_DEPRECATED_IN_2_50_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_52_FOR" c:identifier="GLIB_DEPRECATED_IN_2_52_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_54_FOR" c:identifier="GLIB_DEPRECATED_IN_2_54_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_56_FOR" c:identifier="GLIB_DEPRECATED_IN_2_56_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_58_FOR" c:identifier="GLIB_DEPRECATED_IN_2_58_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_60_FOR" c:identifier="GLIB_DEPRECATED_IN_2_60_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_62_FOR" c:identifier="GLIB_DEPRECATED_IN_2_62_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_64_FOR" c:identifier="GLIB_DEPRECATED_IN_2_64_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_IN_2_66_FOR" c:identifier="GLIB_DEPRECATED_IN_2_66_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_FOR" c:identifier="GLIB_DEPRECATED_MACRO_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_26_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_26_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_28_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_28_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_30_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_30_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_32_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_32_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_34_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_34_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_36_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_36_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_38_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_38_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_40_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_40_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_42_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_42_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_44_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_44_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_46_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_46_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_48_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_48_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_50_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_50_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_52_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_52_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_54_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_54_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_56_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_56_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_58_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_58_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_60_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_60_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_62_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_62_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_64_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_64_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_MACRO_IN_2_66_FOR" c:identifier="GLIB_DEPRECATED_MACRO_IN_2_66_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_FOR" c:identifier="GLIB_DEPRECATED_TYPE_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_26_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_26_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_28_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_28_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_30_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_30_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_32_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_32_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_34_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_34_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_36_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_36_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_38_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_38_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_40_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_40_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_42_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_42_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_44_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_44_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_46_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_46_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_48_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_48_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_50_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_50_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_52_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_52_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_54_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_54_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_56_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_56_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_58_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_58_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_60_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_60_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_62_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_62_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_64_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_64_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="DEPRECATED_TYPE_IN_2_66_FOR" c:identifier="GLIB_DEPRECATED_TYPE_IN_2_66_FOR" introspectable="0">
-
<parameters>
<parameter name="f">
</parameter>
<constant name="DIR_SEPARATOR" value="47" c:type="G_DIR_SEPARATOR">
<doc xml:space="preserve">The directory separator character.
This is '/' on UNIX machines and '\' under Windows.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="DIR_SEPARATOR_S" value="/" c:type="G_DIR_SEPARATOR_S">
<doc xml:space="preserve">The directory separator as a string.
This is "/" on UNIX machines and "\" under Windows.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<record name="Data" c:type="GData" disguised="1">
<doc xml:space="preserve">The #GData struct is an opaque data structure to represent a
[Keyed Data List][glib-Keyed-Data-Lists]. It should only be
accessed via the following functions.</doc>
-
</record>
<callback name="DataForeachFunc" c:type="GDataForeachFunc">
<doc xml:space="preserve">Specifies the type of function passed to g_dataset_foreach(). It is
called with each #GQuark id and associated data element, together
with the @user_data parameter supplied to g_dataset_foreach().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
but safe. An invalid date doesn't represent a day, it's "empty." A date
becomes valid after you set it to a Julian day or you set a day, month,
and year.</doc>
-
<field name="julian_days" writable="1" bits="32">
<doc xml:space="preserve">the Julian representation of the date</doc>
<type name="guint" c:type="guint"/>
it to a safe state. The new date will
be cleared (as if you'd called g_date_clear()) but invalid (it won't
represent an existing day). Free the return value with g_date_free().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated #GDate</doc>
<type name="Date" c:type="GDate*"/>
<doc xml:space="preserve">Like g_date_new(), but also sets the value of the date. Assuming the
day-month-year triplet you pass in represents an existing day, the
returned date will be valid.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated #GDate initialized with @day, @month, and @year</doc>
<type name="Date" c:type="GDate*"/>
<doc xml:space="preserve">Like g_date_new(), but also sets the value of the date. Assuming the
Julian day number you pass in is valid (greater than 0, less than an
unreasonably large number), the returned date will be valid.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated #GDate initialized with @julian_day</doc>
<type name="Date" c:type="GDate*"/>
<doc xml:space="preserve">Increments a date some number of days.
To move forward by weeks, add weeks*7 days.
The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
this routine may change the day of the month
(because the destination month may not have
the current day in it). The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the date is February 29, and the destination
year is not a leap year, the date will be changed
to February 28. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Otherwise, @date is unchanged.
Either of @min_date and @max_date may be %NULL.
All non-%NULL dates must be valid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
state. The cleared dates will not represent an existing date, but will
not contain garbage. Useful to init a date declared on the stack.
Validity can be tested with g_date_valid().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="compare" c:identifier="g_date_compare">
<doc xml:space="preserve">qsort()-style comparison function for dates.
Both dates must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 for equal, less than zero if @lhs is less than @rhs,
greater than zero if @lhs is greater than @rhs</doc>
<doc xml:space="preserve">Copies a GDate to a newly-allocated GDate. If the input was invalid
(as determined by g_date_valid()), the invalid state will be copied
as is into the new object.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated #GDate initialized from @date</doc>
<type name="Date" c:type="GDate*"/>
<doc xml:space="preserve">Computes the number of days between two dates.
If @date2 is prior to @date1, the returned value is negative.
Both dates must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of days between @date1 and @date2</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="free" c:identifier="g_date_free">
<doc xml:space="preserve">Frees a #GDate returned from g_date_new().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_day" c:identifier="g_date_get_day">
<doc xml:space="preserve">Returns the day of the month. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">day of the month</doc>
<type name="DateDay" c:type="GDateDay"/>
<method name="get_day_of_year" c:identifier="g_date_get_day_of_year">
<doc xml:space="preserve">Returns the day of the year, where Jan 1 is the first day of the
year. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">day of the year</doc>
<type name="guint" c:type="guint"/>
<method name="get_iso8601_week_of_year" c:identifier="g_date_get_iso8601_week_of_year" version="2.6">
<doc xml:space="preserve">Returns the week of the year, where weeks are interpreted according
to ISO 8601.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">ISO 8601 week number of the year.</doc>
<type name="guint" c:type="guint"/>
Julian day is simply the number of days since January 1, Year 1; i.e.,
January 1, Year 1 is Julian day 1; January 2, Year 1 is Julian day 2,
etc. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Julian day</doc>
<type name="guint32" c:type="guint32"/>
<doc xml:space="preserve">Returns the week of the year, where weeks are understood to start on
Monday. If the date is before the first Monday of the year, return 0.
The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">week of the year</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="get_month" c:identifier="g_date_get_month">
<doc xml:space="preserve">Returns the month of the year. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">month of the year as a #GDateMonth</doc>
<type name="DateMonth" c:type="GDateMonth"/>
<doc xml:space="preserve">Returns the week of the year during which this date falls, if
weeks are understood to begin on Sunday. The date must be valid.
Can return 0 if the day is before the first Sunday of the year.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">week number</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="get_weekday" c:identifier="g_date_get_weekday">
<doc xml:space="preserve">Returns the day of the week for a #GDate. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">day of the week as a #GDateWeekday.</doc>
<type name="DateWeekday" c:type="GDateWeekday"/>
</method>
<method name="get_year" c:identifier="g_date_get_year">
<doc xml:space="preserve">Returns the year of a #GDate. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">year in which the date falls</doc>
<type name="DateYear" c:type="GDateYear"/>
<method name="is_first_of_month" c:identifier="g_date_is_first_of_month">
<doc xml:space="preserve">Returns %TRUE if the date is on the first of a month.
The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the date is the first of the month</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="is_last_of_month" c:identifier="g_date_is_last_of_month">
<doc xml:space="preserve">Returns %TRUE if the date is the last day of the month.
The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the date is the last day of the month</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="order" c:identifier="g_date_order">
<doc xml:space="preserve">Checks if @date1 is less than or equal to @date2,
and swap the values if this is not the case.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_day" c:identifier="g_date_set_day">
<doc xml:space="preserve">Sets the day of the month for a #GDate. If the resulting
day-month-year triplet is invalid, the date will be invalid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The day-month-year triplet must be valid; if you aren't
sure it is, call g_date_valid_dmy() to check before you
set it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_julian" c:identifier="g_date_set_julian">
<doc xml:space="preserve">Sets the value of a #GDate from a Julian day number.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_month" c:identifier="g_date_set_month">
<doc xml:space="preserve">Sets the month of the year for a #GDate. If the resulting
day-month-year triplet is invalid, the date will be invalid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It's intended to be a heuristic routine that guesses what the user
means by a given string (and it does work pretty well in that
capacity).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the value of a date from a #GTime value.
The time to date conversion is done using the user's current timezone.</doc>
<doc-deprecated xml:space="preserve">Use g_date_set_time_t() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
// handle the error
g_date_set_time_t (date, now);
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The time to date conversion is done using the user's current timezone.</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use g_date_set_time_t()
instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_year" c:identifier="g_date_set_year">
<doc xml:space="preserve">Sets the year for a #GDate. If the resulting day-month-year
triplet is invalid, the date will be invalid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Moves a date some number of days into the past.
To move by weeks, just move by weeks*7 days.
The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the current day of the month doesn't exist in
the destination month, the day of the month
may change. The date must be valid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
year (i.e. it's February 29 and you move to a non-leap-year)
then the day is changed to February 29. The date
must be valid.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="to_struct_tm" c:identifier="g_date_to_struct_tm">
<doc xml:space="preserve">Fills in the date-related bits of a struct tm using the @date value.
Initializes the non-date parts with something safe but meaningless.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Returns %TRUE if the #GDate represents an existing day. The date must not
contain garbage; it should have been initialized with g_date_clear()
if it wasn't allocated by one of the g_date_new() variants.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Whether the date is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="get_days_in_month" c:identifier="g_date_get_days_in_month">
<doc xml:space="preserve">Returns the number of days in a month, taking leap
years into account.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of days in @month during the @year</doc>
<type name="guint8" c:type="guint8"/>
year. This function is basically telling you how many
Mondays are in the year, i.e. there are 53 Mondays if
one of the extra days happens to be a Monday.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of Mondays in the year</doc>
<type name="guint8" c:type="guint8"/>
year. This function is basically telling you how many
Sundays are in the year, i.e. there are 53 Sundays if
one of the extra days happens to be a Sunday.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of weeks in @year</doc>
<type name="guint8" c:type="guint8"/>
divisible by 4 unless that year is divisible by 100. If it
is divisible by 100 it would be a leap year only if that year
is also divisible by 400.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the year is a leap year</doc>
<type name="gboolean" c:type="gboolean"/>
For example, don't expect that using g_date_strftime() would
make the \%F provided by the C99 strftime() work on Windows
where the C library only complies to C89.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of characters written to the buffer, or 0 the buffer was too small</doc>
<type name="gsize" c:type="gsize"/>
<function name="valid_day" c:identifier="g_date_valid_day">
<doc xml:space="preserve">Returns %TRUE if the day of the month is valid (a day is valid if it's
between 1 and 31 inclusive).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the day is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Returns %TRUE if the day-month-year triplet forms a valid, existing day
in the range of days #GDate understands (Year 1 or later, no more than
a few thousand years in the future).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the date is a valid one</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="valid_julian" c:identifier="g_date_valid_julian">
<doc xml:space="preserve">Returns %TRUE if the Julian day is valid. Anything greater than zero
is basically a valid Julian, though there is a 32-bit limit.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the Julian day is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="valid_month" c:identifier="g_date_valid_month">
<doc xml:space="preserve">Returns %TRUE if the month value is valid. The 12 #GDateMonth
enumeration values are the only valid months.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the month is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="valid_weekday" c:identifier="g_date_valid_weekday">
<doc xml:space="preserve">Returns %TRUE if the weekday is valid. The seven #GDateWeekday enumeration
values are the only valid weekdays.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the weekday is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="valid_year" c:identifier="g_date_valid_year">
<doc xml:space="preserve">Returns %TRUE if the year is valid. Any year greater than 0 is valid,
though there is a 16-bit limit to what #GDate will understand.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the year is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<enumeration name="DateDMY" c:type="GDateDMY">
<doc xml:space="preserve">This enumeration isn't used in the API, but may be useful if you need
to mark a number as a day, month, or year.</doc>
-
<member name="day" value="0" c:identifier="G_DATE_DAY">
<doc xml:space="preserve">a day</doc>
</member>
<enumeration name="DateMonth" c:type="GDateMonth">
<doc xml:space="preserve">Enumeration representing a month; values are #G_DATE_JANUARY,
#G_DATE_FEBRUARY, etc. #G_DATE_BAD_MONTH is the invalid value.</doc>
-
<member name="bad_month" value="0" c:identifier="G_DATE_BAD_MONTH">
<doc xml:space="preserve">invalid value</doc>
</member>
<record name="DateTime" c:type="GDateTime" version="2.26" glib:type-name="GDateTime" glib:get-type="g_date_time_get_type" c:symbol-prefix="date_time">
<doc xml:space="preserve">`GDateTime` is an opaque structure whose members
cannot be accessed directly.</doc>
-
<constructor name="new" c:identifier="g_date_time_new" version="2.26">
<doc xml:space="preserve">Creates a new #GDateTime corresponding to the given date and time in
the time zone @tz.
You should release the return value by calling g_date_time_unref()
when you are done with it.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
You should release the return value by calling g_date_time_unref()
when you are done with it.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
when you are done with it.</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use
g_date_time_new_from_unix_local() instead.</doc-deprecated>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
when you are done with it.</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use
g_date_time_new_from_unix_utc() instead.</doc-deprecated>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
You should release the return value by calling g_date_time_unref()
when you are done with it.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
You should release the return value by calling g_date_time_unref()
when you are done with it.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
This call is equivalent to calling g_date_time_new() with the time
zone returned by g_time_zone_new_local().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
You should release the return value by calling g_date_time_unref()
when you are done with it.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
This is equivalent to calling g_date_time_new_now() with the time
zone returned by g_time_zone_new_local().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
This is equivalent to calling g_date_time_new_now() with the time
zone returned by g_time_zone_new_utc().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
This call is equivalent to calling g_date_time_new() with the time
zone returned by g_time_zone_new_utc().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDateTime, or %NULL</doc>
<type name="DateTime" c:type="GDateTime*"/>
</constructor>
<method name="add" c:identifier="g_date_time_add" version="2.26">
<doc xml:space="preserve">Creates a copy of @datetime and adds the specified timespan to the copy.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
<method name="add_days" c:identifier="g_date_time_add_days" version="2.26">
<doc xml:space="preserve">Creates a copy of @datetime and adds the specified number of days to the
copy. Add negative values to subtract days.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
<method name="add_full" c:identifier="g_date_time_add_full" version="2.26">
<doc xml:space="preserve">Creates a new #GDateTime adding the specified values to the current date and
time in @datetime. Add negative values to subtract.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
<method name="add_hours" c:identifier="g_date_time_add_hours" version="2.26">
<doc xml:space="preserve">Creates a copy of @datetime and adds the specified number of hours.
Add negative values to subtract hours.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
<method name="add_minutes" c:identifier="g_date_time_add_minutes" version="2.26">
<doc xml:space="preserve">Creates a copy of @datetime adding the specified number of minutes.
Add negative values to subtract minutes.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
of days in the updated calendar month. For example, if adding 1 month to
31st January 2018, the result would be 28th February 2018. In 2020 (a leap
year), the result would be 29th February.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
<method name="add_seconds" c:identifier="g_date_time_add_seconds" version="2.26">
<doc xml:space="preserve">Creates a copy of @datetime and adds the specified number of seconds.
Add negative values to subtract seconds.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
<method name="add_weeks" c:identifier="g_date_time_add_weeks" version="2.26">
<doc xml:space="preserve">Creates a copy of @datetime and adds the specified number of weeks to the
copy. Add negative values to subtract weeks.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
As with g_date_time_add_months(), if the resulting date would be 29th
February on a non-leap year, the day will be clamped to 28th February.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
</parameter>
</parameters>
</method>
+ <method name="compare" c:identifier="g_date_time_compare" version="2.26">
+ <doc xml:space="preserve">A comparison function for #GDateTimes that is suitable
+as a #GCompareFunc. Both #GDateTimes must be non-%NULL.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">-1, 0 or 1 if @dt1 is less than, equal to or greater
+ than @dt2.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dt1" transfer-ownership="none">
+ <doc xml:space="preserve">first #GDateTime to compare</doc>
+ <type name="DateTime" c:type="gconstpointer"/>
+ </instance-parameter>
+ <parameter name="dt2" transfer-ownership="none">
+ <doc xml:space="preserve">second #GDateTime to compare</doc>
+ <type name="DateTime" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="difference" c:identifier="g_date_time_difference" version="2.26">
<doc xml:space="preserve">Calculates the difference in time between @end and @begin. The
#GTimeSpan that is returned is effectively @end - @begin (ie:
positive if the first parameter is larger).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the difference between the two #GDateTime, as a time
span expressed in microseconds.</doc>
</parameter>
</parameters>
</method>
+ <method name="equal" c:identifier="g_date_time_equal" version="2.26">
+ <doc xml:space="preserve">Checks to see if @dt1 and @dt2 are equal.
+
+Equal here means that they represent the same moment after converting
+them to the same time zone.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%TRUE if @dt1 and @dt2 are equal</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dt1" transfer-ownership="none">
+ <doc xml:space="preserve">a #GDateTime</doc>
+ <type name="DateTime" c:type="gconstpointer"/>
+ </instance-parameter>
+ <parameter name="dt2" transfer-ownership="none">
+ <doc xml:space="preserve">a #GDateTime</doc>
+ <type name="DateTime" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="format" c:identifier="g_date_time_format" version="2.26">
<doc xml:space="preserve">Creates a newly allocated string representing the requested @format.
rules. For other languages there is no difference. \%OB is a GNU and BSD
strftime() extension expected to be added to the future POSIX specification,
\%Ob and \%Oh are GNU strftime() extensions. Since: 2.56</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string formatted to
the requested format or %NULL in the case that there was an error (such
string.
Since GLib 2.66, this will output to sub-second precision if needed.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string formatted in
ISO 8601 format or %NULL in the case that there was an error. The string
<method name="get_day_of_month" c:identifier="g_date_time_get_day_of_month" version="2.26">
<doc xml:space="preserve">Retrieves the day of the month represented by @datetime in the gregorian
calendar.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the day of the month</doc>
<type name="gint" c:type="gint"/>
<method name="get_day_of_week" c:identifier="g_date_time_get_day_of_week" version="2.26">
<doc xml:space="preserve">Retrieves the ISO 8601 day of the week on which @datetime falls (1 is
Monday, 2 is Tuesday... 7 is Sunday).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the day of the week</doc>
<type name="gint" c:type="gint"/>
<method name="get_day_of_year" c:identifier="g_date_time_get_day_of_year" version="2.26">
<doc xml:space="preserve">Retrieves the day of the year represented by @datetime in the Gregorian
calendar.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the day of the year</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_hour" c:identifier="g_date_time_get_hour" version="2.26">
<doc xml:space="preserve">Retrieves the hour of the day represented by @datetime</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the hour of the day</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_microsecond" c:identifier="g_date_time_get_microsecond" version="2.26">
<doc xml:space="preserve">Retrieves the microsecond of the date represented by @datetime</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the microsecond of the second</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_minute" c:identifier="g_date_time_get_minute" version="2.26">
<doc xml:space="preserve">Retrieves the minute of the hour represented by @datetime</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the minute of the hour</doc>
<type name="gint" c:type="gint"/>
<method name="get_month" c:identifier="g_date_time_get_month" version="2.26">
<doc xml:space="preserve">Retrieves the month of the year represented by @datetime in the Gregorian
calendar.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the month represented by @datetime</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_second" c:identifier="g_date_time_get_second" version="2.26">
<doc xml:space="preserve">Retrieves the second of the minute represented by @datetime</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the second represented by @datetime</doc>
<type name="gint" c:type="gint"/>
<method name="get_seconds" c:identifier="g_date_time_get_seconds" version="2.26">
<doc xml:space="preserve">Retrieves the number of seconds since the start of the last minute,
including the fractional part.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of seconds</doc>
<type name="gdouble" c:type="gdouble"/>
</method>
<method name="get_timezone" c:identifier="g_date_time_get_timezone" version="2.58">
<doc xml:space="preserve">Get the time zone for this @datetime.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the time zone</doc>
<type name="TimeZone" c:type="GTimeZone*"/>
For example, in Toronto this is currently "EST" during the winter
months and "EDT" during the summer months when daylight savings
time is in effect.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the time zone abbreviation. The returned
string is owned by the #GDateTime and it should not be
zones west of GMT, positive numbers for east).
If @datetime represents UTC time, then the offset is always zero.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of microseconds that should be added to UTC to
get the local time</doc>
Note that January 1 0001 in the proleptic Gregorian calendar is a
Monday, so this function never returns 0.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ISO 8601 week-numbering year for @datetime</doc>
<type name="gint" c:type="gint"/>
previous year. Similarly, the final days of a calendar year may be
considered as being part of the first ISO 8601 week of the next year
if 4 or more days of that week are contained within the new year.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ISO 8601 week number for @datetime.</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_year" c:identifier="g_date_time_get_year" version="2.26">
<doc xml:space="preserve">Retrieves the year represented by @datetime in the Gregorian calendar.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the year represented by @datetime</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_ymd" c:identifier="g_date_time_get_ymd" version="2.26">
<doc xml:space="preserve">Retrieves the Gregorian day, month, and year of a given #GDateTime.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameter>
</parameters>
</method>
+ <method name="hash" c:identifier="g_date_time_hash" version="2.26">
+ <doc xml:space="preserve">Hashes @datetime into a #guint, suitable for use within #GHashTable.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">a #guint containing the hash</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve">a #GDateTime</doc>
+ <type name="DateTime" c:type="gconstpointer"/>
+ </instance-parameter>
+ </parameters>
+ </method>
<method name="is_daylight_savings" c:identifier="g_date_time_is_daylight_savings" version="2.26">
<doc xml:space="preserve">Determines if daylight savings time is in effect at the time and in
the time zone of @datetime.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if daylight savings time is in effect</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="ref" c:identifier="g_date_time_ref" version="2.26">
<doc xml:space="preserve">Atomically increments the reference count of @datetime by one.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GDateTime with the reference count increased</doc>
<type name="DateTime" c:type="GDateTime*"/>
This call is equivalent to calling g_date_time_to_timezone() with the
time zone returned by g_time_zone_new_local().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
On systems where 'long' is 64bit, this function never fails.</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use
g_date_time_to_unix() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, else %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
This call can fail in the case that the time goes out of bounds. For
example, converting 0001-01-01 00:00:00 UTC to a time zone west of
Greenwich will fail (due to the year 0 being out of range).</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
Unix time is the number of seconds that have elapsed since 1970-01-01
00:00:00 UTC, regardless of the time zone associated with @datetime.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the Unix time corresponding to @datetime</doc>
<type name="gint64" c:type="gint64"/>
This call is equivalent to calling g_date_time_to_timezone() with the
time zone returned by g_time_zone_new_utc().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the newly created #GDateTime which
should be freed with g_date_time_unref(), or %NULL</doc>
When the reference count reaches zero, the resources allocated by
@datetime are freed</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</instance-parameter>
</parameters>
</method>
- <function name="compare" c:identifier="g_date_time_compare" version="2.26">
- <doc xml:space="preserve">A comparison function for #GDateTimes that is suitable
-as a #GCompareFunc. Both #GDateTimes must be non-%NULL.</doc>
-
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">-1, 0 or 1 if @dt1 is less than, equal to or greater
- than @dt2.</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="dt1" transfer-ownership="none">
- <doc xml:space="preserve">first #GDateTime to compare</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- <parameter name="dt2" transfer-ownership="none">
- <doc xml:space="preserve">second #GDateTime to compare</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="equal" c:identifier="g_date_time_equal" version="2.26">
- <doc xml:space="preserve">Checks to see if @dt1 and @dt2 are equal.
-
-Equal here means that they represent the same moment after converting
-them to the same time zone.</doc>
-
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @dt1 and @dt2 are equal</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dt1" transfer-ownership="none">
- <doc xml:space="preserve">a #GDateTime</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- <parameter name="dt2" transfer-ownership="none">
- <doc xml:space="preserve">a #GDateTime</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="hash" c:identifier="g_date_time_hash" version="2.26">
- <doc xml:space="preserve">Hashes @datetime into a #guint, suitable for use within #GHashTable.</doc>
-
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #guint containing the hash</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="datetime" transfer-ownership="none">
- <doc xml:space="preserve">a #GDateTime</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
</record>
<enumeration name="DateWeekday" c:type="GDateWeekday">
<doc xml:space="preserve">Enumeration representing a day of the week; #G_DATE_MONDAY,
#G_DATE_TUESDAY, etc. #G_DATE_BAD_WEEKDAY is an invalid weekday.</doc>
-
<member name="bad_weekday" value="0" c:identifier="G_DATE_BAD_WEEKDAY">
<doc xml:space="preserve">invalid value</doc>
</member>
<record name="DebugKey" c:type="GDebugKey">
<doc xml:space="preserve">Associates a string with a bit flag.
Used in g_parse_debug_string().</doc>
-
<field name="key" writable="1">
<doc xml:space="preserve">the string</doc>
<type name="utf8" c:type="const gchar*"/>
<doc xml:space="preserve">Specifies the type of function which is called when a data element
is destroyed. It is passed the pointer to the data element and
should free any memory and resources allocated for it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<record name="Dir" c:type="GDir" disguised="1">
<doc xml:space="preserve">An opaque structure representing an opened directory.</doc>
-
<method name="close" c:identifier="g_dir_close">
<doc xml:space="preserve">Closes the directory and deallocates all related resources.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
On Windows, as is true of all GLib functions which operate on
filenames, the returned name is in UTF-8.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The entry's name or %NULL if there are no
more entries. The return value is owned by GLib and
<method name="rewind" c:identifier="g_dir_rewind">
<doc xml:space="preserve">Resets the given directory. The next call to g_dir_read_name()
will return the first entry again.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that in contrast to g_mkdtemp() (and mkdtemp()) @tmpl is not
modified, and might thus be a read-only literal string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The actual name used. This string
should be freed with g_free() when not needed any longer and is
<doc xml:space="preserve">Opens a directory for reading. The names of the files in the
directory can then be retrieved using g_dir_read_name(). Note
that the ordering is not defined.</doc>
-
<return-value>
<doc xml:space="preserve">a newly allocated #GDir on success, %NULL on failure.
If non-%NULL, you must free the result with g_dir_close()
mantissa and exponent of IEEE floats and doubles. These unions are defined
as appropriate for a given platform. IEEE floats and doubles are supported
(used for storage) by at least Intel, PPC and Sparc.</doc>
-
<field name="v_double" writable="1">
<doc xml:space="preserve">the double value</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<record name="mpn" c:type="mpn">
-
<field name="mantissa_low" writable="1" bits="32">
<type name="guint" c:type="guint"/>
</field>
What this means depends on the context, it could just be
incrementing the reference count, if @data is a ref-counted
object.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a duplicate of data</doc>
<type name="gpointer" c:type="gpointer"/>
</callback>
<constant name="E" value="2.718282" c:type="G_E">
<doc xml:space="preserve">The base of natural logarithms.</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<function-macro name="ENCODE_VERSION" c:identifier="G_ENCODE_VERSION" introspectable="0">
-
<parameters>
<parameter name="major">
</parameter>
<doc xml:space="preserve">Specifies the type of a function used to test two values for
equality. The function should return %TRUE if both values are equal
and %FALSE otherwise.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @a = @b; %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<record name="Error" c:type="GError" glib:type-name="GError" glib:get-type="g_error_get_type" c:symbol-prefix="error">
<doc xml:space="preserve">The `GError` structure contains information about
an error that has occurred.</doc>
-
<field name="domain" writable="1">
<doc xml:space="preserve">error domain, e.g. #G_FILE_ERROR</doc>
<type name="Quark" c:type="GQuark"/>
<constructor name="new" c:identifier="g_error_new" introspectable="0">
<doc xml:space="preserve">Creates a new #GError with the given @domain and @code,
and a message formatted with @format.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GError</doc>
<type name="Error" c:type="GError*"/>
not a printf()-style format string. Use this function if
@message contains text you don't have control over,
that could include printf() escape sequences.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GError</doc>
<type name="Error" c:type="GError*"/>
<constructor name="new_valist" c:identifier="g_error_new_valist" version="2.22" introspectable="0">
<doc xml:space="preserve">Creates a new #GError with the given @domain and @code,
and a message formatted with @format.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GError</doc>
<type name="Error" c:type="GError*"/>
</constructor>
<method name="copy" c:identifier="g_error_copy">
<doc xml:space="preserve">Makes a copy of @error.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GError</doc>
<type name="Error" c:type="GError*"/>
</method>
<method name="free" c:identifier="g_error_free">
<doc xml:space="preserve">Frees a #GError and associated resources.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
equivalent to the `FAILED` code. This way, if the domain is
extended in the future to provide a more specific error code for
a certain case, your code will still work.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @error has @domain and @code</doc>
<type name="gboolean" c:type="gboolean"/>
<enumeration name="ErrorType" c:type="GErrorType">
<doc xml:space="preserve">The possible errors, used in the @v_error field
of #GTokenValue, when the token is a %G_TOKEN_ERROR.</doc>
-
<member name="unknown" value="0" c:identifier="G_ERR_UNKNOWN">
<doc xml:space="preserve">unknown error</doc>
</member>
which errors will be returned from a given operation. Some errors
don't occur on some systems, etc., sometimes there are subtle
differences in when a system will report a given error, etc.</doc>
-
<member name="exist" value="0" c:identifier="G_FILE_ERROR_EXIST">
<doc xml:space="preserve">Operation not permitted; only the owner of
the file (or other resource) or processes with special privileges
<bitfield name="FileSetContentsFlags" version="2.66" c:type="GFileSetContentsFlags">
<doc xml:space="preserve">Flags to pass to g_file_set_contents_full() to affect its safety and
performance.</doc>
-
<member name="none" value="0" c:identifier="G_FILE_SET_CONTENTS_NONE">
<doc xml:space="preserve">No guarantees about file consistency or durability.
The most dangerous setting, which is slightly faster than other settings.</doc>
</bitfield>
<bitfield name="FileTest" c:type="GFileTest">
<doc xml:space="preserve">A test to perform on a file using g_file_test().</doc>
-
<member name="is_regular" value="1" c:identifier="G_FILE_TEST_IS_REGULAR">
<doc xml:space="preserve">%TRUE if the file is a regular file
(not a directory). Note that this test will also return %TRUE
mantissa and exponent of IEEE floats and doubles. These unions are defined
as appropriate for a given platform. IEEE floats and doubles are supported
(used for storage) by at least Intel, PPC and Sparc.</doc>
-
<field name="v_float" writable="1">
<doc xml:space="preserve">the double value</doc>
<type name="gfloat" c:type="gfloat"/>
</field>
<record name="mpn" c:type="mpn">
-
<field name="mantissa" writable="1" bits="23">
<type name="guint" c:type="guint"/>
</field>
</union>
<bitfield name="FormatSizeFlags" c:type="GFormatSizeFlags">
<doc xml:space="preserve">Flags to modify the format of the string returned by g_format_size_full().</doc>
-
<member name="default" value="0" c:identifier="G_FORMAT_SIZE_DEFAULT">
<doc xml:space="preserve">behave the same as g_format_size()</doc>
</member>
<doc xml:space="preserve">Declares a type of function which takes an arbitrary
data pointer argument and has no return value. It is
not currently used in GLib or GTK+.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<callback name="Func" c:type="GFunc">
<doc xml:space="preserve">Specifies the type of functions passed to g_list_foreach() and
g_slist_foreach().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
out = in * 1000;
g_print ("%" G_GINT32_FORMAT, out);
]|</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GINT16_MODIFIER" value="h" c:type="G_GINT16_MODIFIER" version="2.4">
gint16 value = 123;
g_print ("%#" G_GINT16_MODIFIER "x", value);
]|</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GINT32_FORMAT" value="i" c:type="G_GINT32_FORMAT">
<doc xml:space="preserve">This is the platform dependent conversion specifier for scanning
and printing values of type #gint32. See also #G_GINT16_FORMAT.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GINT32_MODIFIER" value="" c:type="G_GINT32_MODIFIER" version="2.4">
<doc xml:space="preserve">The platform dependent length modifier for conversion specifiers
for scanning and printing values of type #gint32 or #guint32. It
is a string literal. See also #G_GINT16_MODIFIER.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="GINT64_CONSTANT" c:identifier="G_GINT64_CONSTANT" introspectable="0">
<doc xml:space="preserve">This macro is used to insert 64-bit integer literals
into the source code.</doc>
-
<parameters>
<parameter name="val">
<doc xml:space="preserve">a literal integer value, e.g. 0x1d636b02300a7aa7</doc>
if %G_GINT64_FORMAT is defined. Due to its weak error handling, scanf()
is not recommended for parsing anyway; consider using g_ascii_strtoull()
instead.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GINT64_MODIFIER" value="l" c:type="G_GINT64_MODIFIER" version="2.4">
Some platforms do not support printing 64-bit integers, even
though the types are supported. On such platforms %G_GINT64_MODIFIER
is not defined.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GINTPTR_FORMAT" value="li" c:type="G_GINTPTR_FORMAT" version="2.22">
<doc xml:space="preserve">This is the platform dependent conversion specifier for scanning
and printing values of type #gintptr.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GINTPTR_MODIFIER" value="l" c:type="G_GINTPTR_MODIFIER" version="2.22">
<doc xml:space="preserve">The platform dependent length modifier for conversion specifiers
for scanning and printing values of type #gintptr or #guintptr.
It is a string literal.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="GNUC_ALLOC_SIZE" c:identifier="G_GNUC_ALLOC_SIZE" version="2.18" introspectable="0">
]|
See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-alloc_005fsize-function-attribute) for more details.</doc>
-
<parameters>
<parameter name="x">
<doc xml:space="preserve">the index of the argument specifying the allocation size</doc>
]|
See the [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-alloc_005fsize-function-attribute) for more details.</doc>
-
<parameters>
<parameter name="x">
<doc xml:space="preserve">the index of the argument specifying one factor of the allocation size</doc>
#if G_GNUC_CHECK_VERSION(4, 8)
#endif
]|</doc>
-
<parameters>
<parameter name="major">
<doc xml:space="preserve">major version to check against</doc>
Note that if @f is a macro, it will be expanded in the warning message.
You can enclose it in quotes to prevent this. (The quotes will show up
in the warning, but it's better than showing the macro expansion.)</doc>
-
<parameters>
<parameter name="f">
<doc xml:space="preserve">the intended replacement for the deprecated symbol,
|[<!-- language="C" -->
gchar *g_dgettext (gchar *domain_name, gchar *msgid) G_GNUC_FORMAT (2);
]|</doc>
-
<parameters>
<parameter name="arg_idx">
<doc xml:space="preserve">the index of the argument</doc>
<doc xml:space="preserve">Expands to "" on all modern compilers, and to __FUNCTION__ on gcc
version 2.x. Don't use it.</doc>
<doc-deprecated xml:space="preserve">Use G_STRFUNC() instead</doc-deprecated>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GNUC_PRETTY_FUNCTION" value="" c:type="G_GNUC_PRETTY_FUNCTION" deprecated="1" deprecated-version="2.16">
<doc xml:space="preserve">Expands to "" on all modern compilers, and to __PRETTY_FUNCTION__
on gcc version 2.x. Don't use it.</doc>
<doc-deprecated xml:space="preserve">Use G_STRFUNC() instead</doc-deprecated>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="GNUC_PRINTF" c:identifier="G_GNUC_PRINTF" introspectable="0">
gchar const *format,
...) G_GNUC_PRINTF (3, 4);
]|</doc>
-
<parameters>
<parameter name="format_idx">
<doc xml:space="preserve">the index of the argument corresponding to the
See the
[GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-Wformat-3288)
for details.</doc>
-
<parameters>
<parameter name="format_idx">
<doc xml:space="preserve">the index of the argument corresponding to
See the
[GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-Wformat-3288)
for details.</doc>
-
<parameters>
<parameter name="format_idx">
<doc xml:space="preserve">the index of the argument corresponding to
into the source code.
See also #G_GINT64_CONSTANT.</doc>
-
<parameters>
<parameter name="val">
<doc xml:space="preserve">a literal integer value, e.g. 0x1d636b02300a7aa7</doc>
<constant name="GSIZE_FORMAT" value="lu" c:type="G_GSIZE_FORMAT" version="2.6">
<doc xml:space="preserve">This is the platform dependent conversion specifier for scanning
and printing values of type #gsize. See also #G_GINT16_FORMAT.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GSIZE_MODIFIER" value="l" c:type="G_GSIZE_MODIFIER" version="2.6">
<doc xml:space="preserve">The platform dependent length modifier for conversion specifiers
for scanning and printing values of type #gsize. It
is a string literal.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GSSIZE_FORMAT" value="li" c:type="G_GSSIZE_FORMAT" version="2.6">
<doc xml:space="preserve">This is the platform dependent conversion specifier for scanning
and printing values of type #gssize. See also #G_GINT16_FORMAT.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GSSIZE_MODIFIER" value="l" c:type="G_GSSIZE_MODIFIER" version="2.6">
<doc xml:space="preserve">The platform dependent length modifier for conversion specifiers
for scanning and printing values of type #gssize. It
is a string literal.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GUINT16_FORMAT" value="hu" c:type="G_GUINT16_FORMAT">
<doc xml:space="preserve">This is the platform dependent conversion specifier for scanning
and printing values of type #guint16. See also #G_GINT16_FORMAT</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GUINT32_FORMAT" value="u" c:type="G_GUINT32_FORMAT">
<doc xml:space="preserve">This is the platform dependent conversion specifier for scanning
and printing values of type #guint32. See also #G_GINT16_FORMAT.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="GUINT64_CONSTANT" c:identifier="G_GUINT64_CONSTANT" version="2.10" introspectable="0">
<doc xml:space="preserve">This macro is used to insert 64-bit unsigned integer
literals into the source code.</doc>
-
<parameters>
<parameter name="val">
<doc xml:space="preserve">a literal integer value, e.g. 0x1d636b02300a7aa7U</doc>
if %G_GINT64_FORMAT is defined. Due to its weak error handling, scanf()
is not recommended for parsing anyway; consider using g_ascii_strtoull()
instead.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="GUINTPTR_FORMAT" value="lu" c:type="G_GUINTPTR_FORMAT" version="2.22">
<doc xml:space="preserve">This is the platform dependent conversion specifier
for scanning and printing values of type #guintptr.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="HAVE_GINT64" value="1" c:type="G_HAVE_GINT64">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="HAVE_GNUC_VARARGS" value="1" c:type="G_HAVE_GNUC_VARARGS">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="HAVE_GNUC_VISIBILITY" value="1" c:type="G_HAVE_GNUC_VISIBILITY">
<doc xml:space="preserve">Defined to 1 if gcc-style visibility handling is supported.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="HAVE_GROWING_STACK" value="0" c:type="G_HAVE_GROWING_STACK">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="HAVE_ISO_VARARGS" value="1" c:type="G_HAVE_ISO_VARARGS">
-
<type name="gint" c:type="gint"/>
</constant>
<callback name="HFunc" c:type="GHFunc">
<doc xml:space="preserve">Specifies the type of the function passed to g_hash_table_foreach().
It is called with each key/value pair, together with the @user_data
parameter which is passed to g_hash_table_foreach().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<function-macro name="HOOK" c:identifier="G_HOOK" introspectable="0">
<doc xml:space="preserve">Casts a pointer to a `GHook*`.</doc>
-
<parameters>
<parameter name="hook">
<doc xml:space="preserve">a pointer</doc>
<function-macro name="HOOK_ACTIVE" c:identifier="G_HOOK_ACTIVE" introspectable="0">
<doc xml:space="preserve">Returns %TRUE if the #GHook is active, which is normally the case
until the #GHook is destroyed.</doc>
-
<parameters>
<parameter name="hook">
<doc xml:space="preserve">a #GHook</doc>
</function-macro>
<function-macro name="HOOK_FLAGS" c:identifier="G_HOOK_FLAGS" introspectable="0">
<doc xml:space="preserve">Gets the flags of a hook.</doc>
-
<parameters>
<parameter name="hook">
<doc xml:space="preserve">a #GHook</doc>
use be the #GHook implementation, i.e.
`1 << G_HOOK_FLAG_USER_SHIFT` is the first
bit which can be used for application-defined flags.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="HOOK_IN_CALL" c:identifier="G_HOOK_IN_CALL" introspectable="0">
<doc xml:space="preserve">Returns %TRUE if the #GHook function is currently executing.</doc>
-
<parameters>
<parameter name="hook">
<doc xml:space="preserve">a #GHook</doc>
</function-macro>
<function-macro name="HOOK_IS_UNLINKED" c:identifier="G_HOOK_IS_UNLINKED" introspectable="0">
<doc xml:space="preserve">Returns %TRUE if the #GHook is not in a #GHookList.</doc>
-
<parameters>
<parameter name="hook">
<doc xml:space="preserve">a #GHook</doc>
<function-macro name="HOOK_IS_VALID" c:identifier="G_HOOK_IS_VALID" introspectable="0">
<doc xml:space="preserve">Returns %TRUE if the #GHook is valid, i.e. it is in a #GHookList,
it is active and it has not been destroyed.</doc>
-
<parameters>
<parameter name="hook">
<doc xml:space="preserve">a #GHook</doc>
pair, together with the @user_data parameter passed to
g_hash_table_foreach_remove(). It should return %TRUE if the
key/value pair should be removed from the #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key/value pair should be removed from the
#GHashTable</doc>
cryptographic hashes are very easy to find collisions for when the
remainder is taken modulo a somewhat predictable prime number. There
must be an element of randomness that an attacker is unable to guess.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the hash value corresponding to the key</doc>
<type name="guint" c:type="guint"/>
<doc xml:space="preserve">The #GHashTable struct is an opaque data structure to represent a
[Hash Table][glib-Hash-Tables]. It should only be accessed via the
following functions.</doc>
-
<function name="add" c:identifier="g_hash_table_add" version="2.32">
<doc xml:space="preserve">This is a convenience function for using a #GHashTable as a set. It
is equivalent to calling g_hash_table_replace() with @key as both the
Starting from GLib 2.40, this function returns a boolean value to
indicate whether the newly added value was already in the hash table
or not.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="contains" c:identifier="g_hash_table_contains" version="2.32">
<doc xml:space="preserve">Checks if @key is in @hash_table.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @key is in @hash_table, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
notifiers using g_hash_table_new_full(). In the latter case the destroy
functions you supplied will be called on all keys and values during the
destruction phase.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
to use additional or different data structures for reverse lookups
(keep in mind that an O(n) find/foreach operation issued for all n
values in a hash table ends up needing O(n*n) operations).</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value of the first key/value pair is returned,
for which @predicate evaluates to %TRUE. If no pair with the
See g_hash_table_find() for performance caveats for linear
order searches in contrast to g_hash_table_lookup().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See #GHashTableIter for an alternative way to loop over the
key/value pairs in the hash table.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of key/value pairs removed</doc>
<type name="guint" c:type="guint"/>
See #GHashTableIter for an alternative way to loop over the
key/value pairs in the hash table.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of key/value pairs removed.</doc>
<type name="guint" c:type="guint"/>
This iterates over every entry in the hash table to build its return value.
To iterate over the entries in a #GHashTable more efficiently, use a
#GHashTableIter.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">a #GList containing all the keys
inside the hash table. The content of the list is owned by the
above-mentioned case of a string-keyed hash table, it may be
appropriate to use g_strfreev() if you call g_hash_table_steal_all()
first to transfer ownership of the keys.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">a
%NULL-terminated array containing each key from the table.</doc>
This iterates over every entry in the hash table to build its return value.
To iterate over the entries in a #GHashTable more efficiently, use a
#GHashTableIter.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">a #GList containing all the values
inside the hash table. The content of the list is owned by the
Starting from GLib 2.40, this function returns a boolean value to
indicate whether the newly added value was already in the hash table
or not.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
<type name="gboolean" c:type="gboolean"/>
distinguish between a key that is not present and one which is present
and has the value %NULL. If you need this distinction, use
g_hash_table_lookup_extended().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the associated value, or %NULL if the key is not found</doc>
<type name="gpointer" c:type="gpointer"/>
You can actually pass %NULL for @lookup_key to test
whether the %NULL key exists, provided the hash and equal functions
of @hash_table are %NULL-safe.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found in the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
a function call. @key_equal_func is called with the key from the hash table
as its first parameter, and the user-provided key to check against as
its second.</doc>
-
<return-value>
<doc xml:space="preserve">a new #GHashTable</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
This means that you may need to ensure that the hash table is empty by
calling g_hash_table_remove_all() before releasing the last reference using
g_hash_table_unref().</doc>
-
<return-value>
<doc xml:space="preserve">a new #GHashTable</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<function name="ref" c:identifier="g_hash_table_ref" version="2.10" introspectable="0">
<doc xml:space="preserve">Atomically increments the reference count of @hash_table by one.
This function is MT-safe and may be called from any thread.</doc>
-
<return-value>
<doc xml:space="preserve">the passed in #GHashTable</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
key and value are freed using the supplied destroy functions, otherwise
you have to make sure that any dynamically allocated values are freed
yourself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found and removed from the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
the keys and values are freed using the supplied destroy functions,
otherwise you have to make sure that any dynamically allocated
values are freed yourself.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Starting from GLib 2.40, this function returns a boolean value to
indicate whether the newly added value was already in the hash table
or not.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="size" c:identifier="g_hash_table_size">
<doc xml:space="preserve">Returns the number of elements contained in the #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of key/value pairs in the #GHashTable.</doc>
<type name="guint" c:type="guint"/>
<function name="steal" c:identifier="g_hash_table_steal">
<doc xml:space="preserve">Removes a key and its associated value from a #GHashTable without
calling the key and value destroy functions.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found and removed from the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="steal_all" c:identifier="g_hash_table_steal_all" version="2.12">
<doc xml:space="preserve">Removes all keys and their associated values from a #GHashTable
without calling the key and value destroy functions.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
You can pass %NULL for @lookup_key, provided the hash and equal functions
of @hash_table are %NULL-safe.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found in the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
If the reference count drops to 0, all keys and values will be
destroyed, and all memory allocated by the hash table is released.
This function is MT-safe and may be called from any thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The iteration order of a #GHashTableIter over the keys/values in a hash
table is not defined.</doc>
-
<field name="dummy1" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
</field>
<method name="get_hash_table" c:identifier="g_hash_table_iter_get_hash_table" version="2.16" introspectable="0">
<doc xml:space="preserve">Returns the #GHashTable associated with @iter.</doc>
-
<return-value>
<doc xml:space="preserve">the #GHashTable associated with @iter.</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
// do something with key and value
}
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Advances @iter and retrieves the key and/or value that are now
pointed to as a result of this advancement. If %FALSE is returned,
@key and @value are not set, and the iterator becomes invalid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if the end of the #GHashTable has been reached.</doc>
<type name="gboolean" c:type="gboolean"/>
g_hash_table_iter_remove (&iter);
}
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If you supplied a @value_destroy_func when creating the
#GHashTable, the old value is freed using that function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the key and value destroy functions. Can only be called
after g_hash_table_iter_next() returned %TRUE, and cannot
be called more than once for the same key/value pair.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">An opaque structure representing a HMAC operation.
To create a new GHmac, use g_hmac_new(). To free
a GHmac, use g_hmac_unref().</doc>
-
<method name="copy" c:identifier="g_hmac_copy" version="2.30" introspectable="0">
<doc xml:space="preserve">Copies a #GHmac. If @hmac has been closed, by calling
g_hmac_get_string() or g_hmac_get_digest(), the copied
HMAC will be closed as well.</doc>
-
<return-value>
<doc xml:space="preserve">the copy of the passed #GHmac. Use g_hmac_unref()
when finished using it.</doc>
Once this function has been called, the #GHmac is closed and can
no longer be updated with g_checksum_update().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
updated with g_hmac_update().
The hexadecimal characters will be lower case.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the hexadecimal representation of the HMAC. The
returned string is owned by the HMAC and should not be modified
<doc xml:space="preserve">Atomically increments the reference count of @hmac by one.
This function is MT-safe and may be called from any thread.</doc>
-
<return-value>
<doc xml:space="preserve">the passed in #GHmac.</doc>
<type name="Hmac" c:type="GHmac*"/>
destroyed, and all memory allocated by the hash table is released.
This function is MT-safe and may be called from any thread.
Frees the memory allocated for @hmac.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The HMAC must still be open, that is g_hmac_get_string() or
g_hmac_get_digest() must not have been called on @hmac.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Support for digests of type %G_CHECKSUM_SHA512 has been added in GLib 2.42.
Support for %G_CHECKSUM_SHA384 was added in GLib 2.52.</doc>
-
<return-value>
<doc xml:space="preserve">the newly created #GHmac, or %NULL.
Use g_hmac_unref() to free the memory allocated by it.</doc>
</record>
<record name="Hook" c:type="GHook">
<doc xml:space="preserve">The #GHook struct represents a single hook function in a #GHookList.</doc>
-
<field name="data" writable="1">
<doc xml:space="preserve">data which is passed to func when this hook is invoked</doc>
<type name="gpointer" c:type="gpointer"/>
<method name="compare_ids" c:identifier="g_hook_compare_ids">
<doc xml:space="preserve">Compares the ids of two #GHook elements, returning a negative value
if the second id is greater than the first.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a value <= 0 if the id of @sibling is >= the id of @new_hook</doc>
<type name="gint" c:type="gint"/>
</method>
<function name="alloc" c:identifier="g_hook_alloc" introspectable="0">
<doc xml:space="preserve">Allocates space for a #GHook and initializes it.</doc>
-
<return-value>
<doc xml:space="preserve">a new #GHook</doc>
<type name="Hook" c:type="GHook*"/>
</function>
<function name="destroy" c:identifier="g_hook_destroy">
<doc xml:space="preserve">Destroys a #GHook, given its ID.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the #GHook was found in the #GHookList and destroyed</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="destroy_link" c:identifier="g_hook_destroy_link">
<doc xml:space="preserve">Removes one #GHook from a #GHookList, marking it
inactive and calling g_hook_unref() on it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="find" c:identifier="g_hook_find" introspectable="0">
<doc xml:space="preserve">Finds a #GHook in a #GHookList using the given function to
test for a match.</doc>
-
<return-value>
<doc xml:space="preserve">the found #GHook or %NULL if no matching #GHook is found</doc>
<type name="Hook" c:type="GHook*"/>
</function>
<function name="find_data" c:identifier="g_hook_find_data" introspectable="0">
<doc xml:space="preserve">Finds a #GHook in a #GHookList with the given data.</doc>
-
<return-value>
<doc xml:space="preserve">the #GHook with the given @data or %NULL if no matching
#GHook is found</doc>
</function>
<function name="find_func" c:identifier="g_hook_find_func" introspectable="0">
<doc xml:space="preserve">Finds a #GHook in a #GHookList with the given function.</doc>
-
<return-value>
<doc xml:space="preserve">the #GHook with the given @func or %NULL if no matching
#GHook is found</doc>
</function>
<function name="find_func_data" c:identifier="g_hook_find_func_data" introspectable="0">
<doc xml:space="preserve">Finds a #GHook in a #GHookList with the given function and data.</doc>
-
<return-value>
<doc xml:space="preserve">the #GHook with the given @func and @data or %NULL if
no matching #GHook is found</doc>
The reference count for the #GHook is incremented, so you must call
g_hook_unref() to restore it when no longer needed. (Or call
g_hook_next_valid() if you are stepping through the #GHookList.)</doc>
-
<return-value>
<doc xml:space="preserve">the first valid #GHook, or %NULL if none are valid</doc>
<type name="Hook" c:type="GHook*"/>
<function name="free" c:identifier="g_hook_free">
<doc xml:space="preserve">Calls the #GHookList @finalize_hook function if it exists,
and frees the memory allocated for the #GHook.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="get" c:identifier="g_hook_get" introspectable="0">
<doc xml:space="preserve">Returns the #GHook with the given id, or %NULL if it is not found.</doc>
-
<return-value>
<doc xml:space="preserve">the #GHook with the given id, or %NULL if it is not found</doc>
<type name="Hook" c:type="GHook*"/>
</function>
<function name="insert_before" c:identifier="g_hook_insert_before">
<doc xml:space="preserve">Inserts a #GHook into a #GHookList, before a given #GHook.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="insert_sorted" c:identifier="g_hook_insert_sorted" introspectable="0">
<doc xml:space="preserve">Inserts a #GHook into a #GHookList, sorted by the given function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The reference count for the #GHook is incremented, so you must call
g_hook_unref() to restore it when no longer needed. (Or continue to call
g_hook_next_valid() until %NULL is returned.)</doc>
-
<return-value>
<doc xml:space="preserve">the next valid #GHook, or %NULL if none are valid</doc>
<type name="Hook" c:type="GHook*"/>
</function>
<function name="prepend" c:identifier="g_hook_prepend">
<doc xml:space="preserve">Prepends a #GHook on the start of a #GHookList.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="ref" c:identifier="g_hook_ref" introspectable="0">
<doc xml:space="preserve">Increments the reference count for a #GHook.</doc>
-
<return-value>
<doc xml:space="preserve">the @hook that was passed in (since 2.6)</doc>
<type name="Hook" c:type="GHook*"/>
<doc xml:space="preserve">Decrements the reference count of a #GHook.
If the reference count falls to 0, the #GHook is removed
from the #GHookList and g_hook_free() is called to free it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<callback name="HookCheckFunc" c:type="GHookCheckFunc">
<doc xml:space="preserve">Defines the type of a hook function that can be invoked
by g_hook_list_invoke_check().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if the #GHook should be destroyed</doc>
<type name="gboolean" c:type="gboolean"/>
</callback>
<callback name="HookCheckMarshaller" c:type="GHookCheckMarshaller">
<doc xml:space="preserve">Defines the type of function used by g_hook_list_marshal_check().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if @hook should be destroyed</doc>
<type name="gboolean" c:type="gboolean"/>
<callback name="HookCompareFunc" c:type="GHookCompareFunc">
<doc xml:space="preserve">Defines the type of function used to compare #GHook elements in
g_hook_insert_sorted().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a value <= 0 if @new_hook should be before @sibling</doc>
<type name="gint" c:type="gint"/>
<callback name="HookFinalizeFunc" c:type="GHookFinalizeFunc">
<doc xml:space="preserve">Defines the type of function to be called when a hook in a
list of hooks gets finalized.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="HookFindFunc" c:type="GHookFindFunc">
<doc xml:space="preserve">Defines the type of the function passed to g_hook_find().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the required #GHook has been found</doc>
<type name="gboolean" c:type="gboolean"/>
</callback>
<bitfield name="HookFlagMask" c:type="GHookFlagMask">
<doc xml:space="preserve">Flags used internally in the #GHook implementation.</doc>
-
<member name="active" value="1" c:identifier="G_HOOK_FLAG_ACTIVE">
<doc xml:space="preserve">set if the hook has not been destroyed</doc>
</member>
<callback name="HookFunc" c:type="GHookFunc">
<doc xml:space="preserve">Defines the type of a hook function that can be invoked
by g_hook_list_invoke().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<record name="HookList" c:type="GHookList">
<doc xml:space="preserve">The #GHookList struct represents a list of hook functions.</doc>
-
<field name="seq_id" writable="1">
<doc xml:space="preserve">the next free #GHook id</doc>
<type name="gulong" c:type="gulong"/>
</field>
<method name="clear" c:identifier="g_hook_list_clear">
<doc xml:space="preserve">Removes all the #GHook elements from a #GHookList.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="init" c:identifier="g_hook_list_init">
<doc xml:space="preserve">Initializes a #GHookList.
This must be called before the #GHookList is used.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="invoke" c:identifier="g_hook_list_invoke">
<doc xml:space="preserve">Calls all of the #GHook functions in a #GHookList.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="invoke_check" c:identifier="g_hook_list_invoke_check">
<doc xml:space="preserve">Calls all of the #GHook functions in a #GHookList.
Any function which returns %FALSE is removed from the #GHookList.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="marshal" c:identifier="g_hook_list_marshal" introspectable="0">
<doc xml:space="preserve">Calls a function on each valid #GHook.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="marshal_check" c:identifier="g_hook_list_marshal_check" introspectable="0">
<doc xml:space="preserve">Calls a function on each valid #GHook and destroys it if the
function returns %FALSE.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<callback name="HookMarshaller" c:type="GHookMarshaller">
<doc xml:space="preserve">Defines the type of function used by g_hook_list_marshal().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="IConv" c:type="GIConv" disguised="1" introspectable="0">
<doc xml:space="preserve">The GIConv struct wraps an iconv() conversion descriptor. It contains
private data and should only be accessed using the following functions.</doc>
-
<method name="" c:identifier="g_iconv" moved-to="iconv" introspectable="0">
<doc xml:space="preserve">Same as the standard UNIX routine iconv(), but
may be implemented via libiconv on UNIX flavors that lack
positive number of non-reversible conversions as replacement characters were
used), or it may return -1 and set an error such as %EILSEQ, in such a
situation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">count of non-reversible conversions, or -1 on error</doc>
<type name="gsize" c:type="gsize"/>
GLib provides g_convert() and g_locale_to_utf8() which are likely
more convenient than the raw iconv wrappers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">-1 on error, 0 on success</doc>
<type name="gint" c:type="gint"/>
GLib provides g_convert() and g_locale_to_utf8() which are likely
more convenient than the raw iconv wrappers.</doc>
-
<return-value>
<doc xml:space="preserve">a "conversion descriptor", or (GIConv)-1 if
opening the converter failed.</doc>
</record>
<constant name="IEEE754_DOUBLE_BIAS" value="1023" c:type="G_IEEE754_DOUBLE_BIAS">
<doc xml:space="preserve">The bias by which exponents in double-precision floats are offset.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="IEEE754_FLOAT_BIAS" value="127" c:type="G_IEEE754_FLOAT_BIAS">
<doc xml:space="preserve">The bias by which exponents in single-precision floats are offset.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<record name="IOChannel" c:type="GIOChannel" glib:type-name="GIOChannel" glib:get-type="g_io_channel_get_type" c:symbol-prefix="io_channel">
<doc xml:space="preserve">A data structure representing an IO Channel. The fields should be
considered private and should only be accessed with the following
functions.</doc>
-
<field name="ref_count" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
so there is no need to call g_io_channel_close() (though doing
so will not cause problems, as long as no attempt is made to
access the channel after it is closed).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GIOChannel on success, %NULL on failure.</doc>
<type name="IOChannel" c:type="GIOChannel*"/>
in case the argument you pass to this function happens to be both a
valid file descriptor and socket. If that happens a warning is
issued, and GLib assumes that it is the file descriptor you mean.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GIOChannel.</doc>
<type name="IOChannel" c:type="GIOChannel*"/>
flushed, ignoring errors. The channel will not be freed until the
last reference is dropped using g_io_channel_unref().</doc>
<doc-deprecated xml:space="preserve">Use g_io_channel_shutdown() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="flush" c:identifier="g_io_channel_flush" throws="1">
<doc xml:space="preserve">Flushes the write buffer for the GIOChannel.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation: One of
#G_IO_STATUS_NORMAL, #G_IO_STATUS_AGAIN, or
<doc xml:space="preserve">This function returns a #GIOCondition depending on whether there
is data to be read/space to write data in the internal buffers in
the #GIOChannel. Only the flags %G_IO_IN and %G_IO_OUT may be set.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GIOCondition</doc>
<type name="IOCondition" c:type="GIOCondition"/>
</method>
<method name="get_buffer_size" c:identifier="g_io_channel_get_buffer_size">
<doc xml:space="preserve">Gets the buffer size.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the buffer.</doc>
<type name="gsize" c:type="gsize"/>
</method>
<method name="get_buffered" c:identifier="g_io_channel_get_buffered">
<doc xml:space="preserve">Returns whether @channel is buffered.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @channel is buffered.</doc>
<type name="gboolean" c:type="gboolean"/>
will be closed when @channel receives its final unref and is
destroyed. The default value of this is %TRUE for channels created
by g_io_channel_new_file (), and %FALSE for all other channels.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the channel will be closed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the encoding for the input/output of the channel.
The internal encoding is always UTF-8. The encoding %NULL
makes the channel safe for binary data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string containing the encoding, this string is
owned by GLib and must not be freed.</doc>
of a socket with the UNIX shutdown() function), the user
should immediately call g_io_channel_get_flags() to update
the internal values of these flags.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the flags which are set on the channel</doc>
<type name="IOFlags" c:type="GIOFlags"/>
<doc xml:space="preserve">This returns the string that #GIOChannel uses to determine
where in the file a line break occurs. A value of %NULL
indicates autodetection.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The line termination string. This value
is owned by GLib and must not be freed.</doc>
This is called by each of the above functions when creating a
#GIOChannel, and so is not often needed by the application
programmer (unless you are creating a new type of #GIOChannel).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="read" c:identifier="g_io_channel_read" deprecated="1" deprecated-version="2.2">
<doc xml:space="preserve">Reads data from a #GIOChannel.</doc>
<doc-deprecated xml:space="preserve">Use g_io_channel_read_chars() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_IO_ERROR_NONE if the operation was successful.</doc>
<type name="IOError" c:type="GIOError"/>
</method>
<method name="read_chars" c:identifier="g_io_channel_read_chars" throws="1">
<doc xml:space="preserve">Replacement for g_io_channel_read() with the new API.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation.</doc>
<type name="IOStatus" c:type="GIOStatus"/>
from a #GIOChannel into a newly-allocated string.
@str_return will contain allocated memory if the return
is %G_IO_STATUS_NORMAL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation.</doc>
<type name="IOStatus" c:type="GIOStatus"/>
</method>
<method name="read_line_string" c:identifier="g_io_channel_read_line_string" throws="1">
<doc xml:space="preserve">Reads a line from a #GIOChannel, using a #GString as a buffer.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation.</doc>
<type name="IOStatus" c:type="GIOStatus"/>
</method>
<method name="read_to_end" c:identifier="g_io_channel_read_to_end" throws="1">
<doc xml:space="preserve">Reads all the remaining data from the file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_IO_STATUS_NORMAL on success.
This function never returns %G_IO_STATUS_EOF.</doc>
<method name="read_unichar" c:identifier="g_io_channel_read_unichar" throws="1">
<doc xml:space="preserve">Reads a Unicode character from @channel.
This function cannot be called on a channel with %NULL encoding.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIOStatus</doc>
<type name="IOStatus" c:type="GIOStatus"/>
</method>
<method name="ref" c:identifier="g_io_channel_ref">
<doc xml:space="preserve">Increments the reference count of a #GIOChannel.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the @channel that was passed in (since 2.6)</doc>
<type name="IOChannel" c:type="GIOChannel*"/>
<doc xml:space="preserve">Sets the current position in the #GIOChannel, similar to the standard
library function fseek().</doc>
<doc-deprecated xml:space="preserve">Use g_io_channel_seek_position() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_IO_ERROR_NONE if the operation was successful.</doc>
<type name="IOError" c:type="GIOError"/>
</method>
<method name="seek_position" c:identifier="g_io_channel_seek_position" throws="1">
<doc xml:space="preserve">Replacement for g_io_channel_seek() with the new API.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation.</doc>
<type name="IOStatus" c:type="GIOStatus"/>
</method>
<method name="set_buffer_size" c:identifier="g_io_channel_set_buffer_size">
<doc xml:space="preserve">Sets the buffer size.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
maintaining old code.
The default state of the channel is buffered.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Setting this flag to %TRUE for a channel you have already closed
can cause problems when the final reference to the #GIOChannel is dropped.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_io_channel_seek_position() with an offset of %G_SEEK_CUR, and, if
they are "seekable", cannot call g_io_channel_write_chars() after
calling one of the API "read" functions.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_IO_STATUS_NORMAL if the encoding was successfully set</doc>
<type name="IOStatus" c:type="GIOStatus"/>
</method>
<method name="set_flags" c:identifier="g_io_channel_set_flags" throws="1">
<doc xml:space="preserve">Sets the (writeable) flags in @channel to (@flags & %G_IO_FLAG_SET_MASK).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation.</doc>
<type name="IOStatus" c:type="GIOStatus"/>
<method name="set_line_term" c:identifier="g_io_channel_set_line_term">
<doc xml:space="preserve">This sets the string that #GIOChannel uses to determine
where in the file a line break occurs.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Close an IO channel. Any pending data to be written will be
flushed if @flush is %TRUE. The channel will not be freed until the
last reference is dropped using g_io_channel_unref().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation.</doc>
<type name="IOStatus" c:type="GIOStatus"/>
On Windows this function returns the file descriptor or socket of
the #GIOChannel.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the file descriptor of the #GIOChannel.</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="unref" c:identifier="g_io_channel_unref">
<doc xml:space="preserve">Decrements the reference count of a #GIOChannel.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="write" c:identifier="g_io_channel_write" deprecated="1" deprecated-version="2.2">
<doc xml:space="preserve">Writes data to a #GIOChannel.</doc>
<doc-deprecated xml:space="preserve">Use g_io_channel_write_chars() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_IO_ERROR_NONE if the operation was successful.</doc>
<type name="IOError" c:type="GIOError"/>
mixing of reading and writing is not allowed. A call to g_io_channel_write_chars ()
may only be made on a channel from which data has been read in the
cases described in the documentation for g_io_channel_set_encoding ().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the status of the operation.</doc>
<type name="IOStatus" c:type="GIOStatus"/>
<method name="write_unichar" c:identifier="g_io_channel_write_unichar" throws="1">
<doc xml:space="preserve">Writes a Unicode character to @channel.
This function cannot be called on a channel with %NULL encoding.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIOStatus</doc>
<type name="IOStatus" c:type="GIOStatus"/>
</method>
<function name="error_from_errno" c:identifier="g_io_channel_error_from_errno">
<doc xml:space="preserve">Converts an `errno` error number to a #GIOChannelError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIOChannelError error number, e.g.
%G_IO_CHANNEL_ERROR_INVAL.</doc>
</record>
<enumeration name="IOChannelError" c:type="GIOChannelError" glib:error-domain="g-io-channel-error-quark">
<doc xml:space="preserve">Error codes returned by #GIOChannel operations.</doc>
-
<member name="fbig" value="0" c:identifier="G_IO_CHANNEL_ERROR_FBIG">
<doc xml:space="preserve">File too large.</doc>
</member>
<enumeration name="IOError" c:type="GIOError">
<doc xml:space="preserve">#GIOError is only used by the deprecated functions
g_io_channel_read(), g_io_channel_write(), and g_io_channel_seek().</doc>
-
<member name="none" value="0" c:identifier="G_IO_ERROR_NONE">
<doc xml:space="preserve">no error</doc>
</member>
<doc xml:space="preserve">Specifies properties of a #GIOChannel. Some of the flags can only be
read with g_io_channel_get_flags(), but not changed with
g_io_channel_set_flags().</doc>
-
<member name="append" value="1" c:identifier="G_IO_FLAG_APPEND">
<doc xml:space="preserve">turns on append mode, corresponds to %O_APPEND
(see the documentation of the UNIX open() syscall)</doc>
<doc xml:space="preserve">Specifies the type of function passed to g_io_add_watch() or
g_io_add_watch_full(), which is called when the requested condition
on a #GIOChannel is satisfied.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the function should return %FALSE if the event source
should be removed</doc>
<record name="IOFuncs" c:type="GIOFuncs">
<doc xml:space="preserve">A table of functions used to handle different types of #GIOChannel
in a generic way.</doc>
-
<field name="io_read">
<callback name="io_read" throws="1">
-
<return-value transfer-ownership="none">
<type name="IOStatus" c:type="GIOStatus"/>
</return-value>
</field>
<field name="io_write">
<callback name="io_write" throws="1">
-
<return-value transfer-ownership="none">
<type name="IOStatus" c:type="GIOStatus"/>
</return-value>
</field>
<field name="io_seek">
<callback name="io_seek" throws="1">
-
<return-value transfer-ownership="none">
<type name="IOStatus" c:type="GIOStatus"/>
</return-value>
</field>
<field name="io_close">
<callback name="io_close" throws="1">
-
<return-value transfer-ownership="none">
<type name="IOStatus" c:type="GIOStatus"/>
</return-value>
</field>
<field name="io_create_watch">
<callback name="io_create_watch">
-
<return-value transfer-ownership="full">
<type name="Source" c:type="GSource*"/>
</return-value>
</field>
<field name="io_free">
<callback name="io_free">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="io_set_flags">
<callback name="io_set_flags" throws="1">
-
<return-value transfer-ownership="none">
<type name="IOStatus" c:type="GIOStatus"/>
</return-value>
</field>
<field name="io_get_flags">
<callback name="io_get_flags">
-
<return-value transfer-ownership="none">
<type name="IOFlags" c:type="GIOFlags"/>
</return-value>
</record>
<enumeration name="IOStatus" c:type="GIOStatus">
<doc xml:space="preserve">Statuses returned by most of the #GIOFuncs functions.</doc>
-
<member name="error" value="0" c:identifier="G_IO_STATUS_ERROR">
<doc xml:space="preserve">An error occurred.</doc>
</member>
<doc xml:space="preserve">Checks whether a character is a directory
separator. It returns %TRUE for '/' on UNIX
machines and for '\' or '/' under Windows.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">a character</doc>
[Desktop Entry Specification](http://freedesktop.org/Standards/desktop-entry-spec).
Consult the specification for more
details about the meanings of the keys below.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_ACTIONS" value="Actions" c:type="G_KEY_FILE_DESKTOP_KEY_ACTIONS" version="2.38">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string list
giving the available application actions.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_CATEGORIES" value="Categories" c:type="G_KEY_FILE_DESKTOP_KEY_CATEGORIES" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list
of strings giving the categories in which the desktop entry
should be shown in a menu.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_COMMENT" value="Comment" c:type="G_KEY_FILE_DESKTOP_KEY_COMMENT" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized
string giving the tooltip for the desktop entry.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE" value="DBusActivatable" c:type="G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE" version="2.38">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean set to true
if the application is D-Bus activatable.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_EXEC" value="Exec" c:type="G_KEY_FILE_DESKTOP_KEY_EXEC" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string
giving the command line to execute. It is only valid for desktop
entries with the `Application` type.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_GENERIC_NAME" value="GenericName" c:type="G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized
string giving the generic name of the desktop entry.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_HIDDEN" value="Hidden" c:type="G_KEY_FILE_DESKTOP_KEY_HIDDEN" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean
stating whether the desktop entry has been deleted by the user.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_ICON" value="Icon" c:type="G_KEY_FILE_DESKTOP_KEY_ICON" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized
string giving the name of the icon to be displayed for the desktop
entry.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_MIME_TYPE" value="MimeType" c:type="G_KEY_FILE_DESKTOP_KEY_MIME_TYPE" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list
of strings giving the MIME types supported by this desktop entry.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_NAME" value="Name" c:type="G_KEY_FILE_DESKTOP_KEY_NAME" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized
string giving the specific name of the desktop entry.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN" value="NotShowIn" c:type="G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list of
strings identifying the environments that should not display the
desktop entry.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_NO_DISPLAY" value="NoDisplay" c:type="G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean
stating whether the desktop entry should be shown in menus.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN" value="OnlyShowIn" c:type="G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list of
strings identifying the environments that should display the
desktop entry.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_PATH" value="Path" c:type="G_KEY_FILE_DESKTOP_KEY_PATH" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string
containing the working directory to run the program in. It is only
valid for desktop entries with the `Application` type.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY" value="StartupNotify" c:type="G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean
stating whether the application supports the
[Startup Notification Protocol Specification](http://www.freedesktop.org/Standards/startup-notification-spec).</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS" value="StartupWMClass" c:type="G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS" version="2.14">
identifying the WM class or name hint of a window that the application
will create, which can be used to emulate Startup Notification with
older applications.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_TERMINAL" value="Terminal" c:type="G_KEY_FILE_DESKTOP_KEY_TERMINAL" version="2.14">
stating whether the program should be run in a terminal window.
It is only valid for desktop entries with the
`Application` type.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_TRY_EXEC" value="TryExec" c:type="G_KEY_FILE_DESKTOP_KEY_TRY_EXEC" version="2.14">
giving the file name of a binary on disk used to determine if the
program is actually installed. It is only valid for desktop entries
with the `Application` type.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_TYPE" value="Type" c:type="G_KEY_FILE_DESKTOP_KEY_TYPE" version="2.14">
#G_KEY_FILE_DESKTOP_TYPE_APPLICATION,
#G_KEY_FILE_DESKTOP_TYPE_LINK, or
#G_KEY_FILE_DESKTOP_TYPE_DIRECTORY.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_URL" value="URL" c:type="G_KEY_FILE_DESKTOP_KEY_URL" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string
giving the URL to access. It is only valid for desktop entries
with the `Link` type.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_KEY_VERSION" value="Version" c:type="G_KEY_FILE_DESKTOP_KEY_VERSION" version="2.14">
<doc xml:space="preserve">A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string
giving the version of the Desktop Entry Specification used for
the desktop entry file.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_TYPE_APPLICATION" value="Application" c:type="G_KEY_FILE_DESKTOP_TYPE_APPLICATION" version="2.14">
<doc xml:space="preserve">The value of the #G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop
entries representing applications.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_TYPE_DIRECTORY" value="Directory" c:type="G_KEY_FILE_DESKTOP_TYPE_DIRECTORY" version="2.14">
<doc xml:space="preserve">The value of the #G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop
entries representing directories.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="KEY_FILE_DESKTOP_TYPE_LINK" value="Link" c:type="G_KEY_FILE_DESKTOP_TYPE_LINK" version="2.14">
<doc xml:space="preserve">The value of the #G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop
entries representing links to documents.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<record name="KeyFile" c:type="GKeyFile" glib:type-name="GKeyFile" glib:get-type="g_key_file_get_type" c:symbol-prefix="key_file">
<doc xml:space="preserve">The GKeyFile struct contains only private data
and should not be accessed directly.</doc>
-
<constructor name="new" c:identifier="g_key_file_new" version="2.6">
<doc xml:space="preserve">Creates a new empty #GKeyFile object. Use
g_key_file_load_from_file(), g_key_file_load_from_data(),
g_key_file_load_from_dirs() or g_key_file_load_from_data_dirs() to
read an existing key file.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an empty #GKeyFile.</doc>
<type name="KeyFile" c:type="GKeyFile*"/>
<doc xml:space="preserve">Clears all keys and groups from @key_file, and decreases the
reference count by 1. If the reference count reaches zero,
frees the key file and all its allocated memory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value
associated with @key cannot be interpreted as a boolean then %FALSE
is returned and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value associated with the key as a boolean,
or %FALSE if the key was not found or could not be parsed.</doc>
#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated
with @key cannot be interpreted as booleans then %NULL is returned
and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">
the values associated with the key as a list of booleans, or %NULL if the
Note that the returned string does not include the '#' comment markers,
but does include any whitespace after them (on each line). It includes
the line breaks between lines, but does not include the final line break.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a comment that should be freed with g_free()</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">a group name, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="key" transfer-ownership="none">
+ <parameter name="key" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">a key</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated
with @key cannot be interpreted as a double then 0.0 is returned
and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value associated with the key as a double, or
0.0 if the key was not found or could not be parsed.</doc>
#G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated
with @key cannot be interpreted as doubles then %NULL is returned
and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">
the values associated with the key as a list of doubles, or %NULL if the
<doc xml:space="preserve">Returns all groups in the key file loaded with @key_file.
The array of returned groups will be %NULL-terminated, so
@length may optionally be %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated %NULL-terminated array of strings.
Use g_strfreev() to free it.</doc>
<doc xml:space="preserve">Returns the value associated with @key under @group_name as a signed
64-bit integer. This is similar to g_key_file_get_integer() but can return
64-bit results without truncation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value associated with the key as a signed 64-bit integer, or
0 if the key was not found or could not be parsed.</doc>
with @key cannot be interpreted as an integer, or is out of range
for a #gint, then 0 is returned
and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value associated with the key as an integer, or
0 if the key was not found or could not be parsed.</doc>
with @key cannot be interpreted as integers, or are out of range for
#gint, then %NULL is returned
and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">
the values associated with the key as a list of integers, or %NULL if
optionally be %NULL. In the event that the @group_name cannot
be found, %NULL is returned and @error is set to
#G_KEY_FILE_ERROR_GROUP_NOT_FOUND.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated %NULL-terminated array of strings.
Use g_strfreev() to free it.</doc>
@group_name, @key and @locale, the result of those functions will
have originally been tagged with the locale that is the result of
this function.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the locale from the file, or %NULL if the key was not
found or the entry in the file was was untranslated</doc>
to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated
with @key cannot be interpreted or no suitable translation can
be found then the untranslated value is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string or %NULL if the specified
key cannot be found.</doc>
can be found then the untranslated values are returned. The
returned array is %NULL-terminated, so @length may optionally
be %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated %NULL-terminated string array
or %NULL if the key isn't found. The string array should be freed
</method>
<method name="get_start_group" c:identifier="g_key_file_get_start_group" version="2.6">
<doc xml:space="preserve">Returns the name of the start group of the file.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The start group of the key file.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the
event that the @group_name cannot be found, %NULL is returned
and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string or %NULL if the specified
key cannot be found.</doc>
@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the
event that the @group_name cannot be found, %NULL is returned
and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
a %NULL-terminated string array or %NULL if the specified
<doc xml:space="preserve">Returns the value associated with @key under @group_name as an unsigned
64-bit integer. This is similar to g_key_file_get_integer() but can return
large positive results without truncation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value associated with the key as an unsigned 64-bit integer,
or 0 if the key was not found or could not be parsed.</doc>
@error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the
event that the @group_name cannot be found, %NULL is returned
and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string or %NULL if the specified
key cannot be found.</doc>
</method>
<method name="has_group" c:identifier="g_key_file_has_group" version="2.6">
<doc xml:space="preserve">Looks whether the key file has the group @group_name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @group_name is a part of @key_file, %FALSE
otherwise.</doc>
Language bindings should use g_key_file_get_value() to test whether
or not a key exists.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @key is a part of @group_name, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="load_from_bytes" c:identifier="g_key_file_load_from_bytes" version="2.50" throws="1">
<doc xml:space="preserve">Loads a key file from the data in @bytes into an empty #GKeyFile structure.
If the object cannot be created then %error is set to a #GKeyFileError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a key file could be loaded, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="load_from_data" c:identifier="g_key_file_load_from_data" version="2.6" throws="1">
<doc xml:space="preserve">Loads a key file from memory into an empty #GKeyFile structure.
If the object cannot be created then %error is set to a #GKeyFileError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a key file could be loaded, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
loads the file into @key_file and returns the file's full path in
@full_path. If the file could not be loaded then an %error is
set to either a #GFileError or #GKeyFileError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a key file could be loaded, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
the file is found but the OS returns an error when opening or reading the
file, a %G_FILE_ERROR is returned. If there is a problem parsing the file, a
%G_KEY_FILE_ERROR is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a key file could be loaded, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
This function will never return a %G_KEY_FILE_ERROR_NOT_FOUND error. If the
@file is not found, %G_FILE_ERROR_NOENT is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a key file could be loaded, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="ref" c:identifier="g_key_file_ref" version="2.32" introspectable="0">
<doc xml:space="preserve">Increases the reference count of @key_file.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the same @key_file.</doc>
<type name="KeyFile" c:type="GKeyFile*"/>
If @key is %NULL then @comment will be removed above @group_name.
If both @key and @group_name are %NULL, then @comment will
be removed above the first group in the file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the comment was removed, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="remove_group" c:identifier="g_key_file_remove_group" version="2.6" throws="1">
<doc xml:space="preserve">Removes the specified group, @group_name,
from the key file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the group was removed, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="remove_key" c:identifier="g_key_file_remove_key" version="2.6" throws="1">
<doc xml:space="preserve">Removes @key in @group_name from the key file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was removed, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
This function can fail for any of the reasons that
g_file_set_contents() may fail.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, else %FALSE with @error set</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="set_boolean" c:identifier="g_key_file_set_boolean" version="2.6">
<doc xml:space="preserve">Associates a new boolean value with @key under @group_name.
If @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Associates a list of boolean values with @key under @group_name.
If @key cannot be found then it is created.
If @group_name is %NULL, the start_group is used.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that this function prepends a '#' comment marker to
each line of @comment.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the comment was written, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="set_double" c:identifier="g_key_file_set_double" version="2.12">
<doc xml:space="preserve">Associates a new double value with @key under @group_name.
If @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_double_list" c:identifier="g_key_file_set_double_list" version="2.12">
<doc xml:space="preserve">Associates a list of double values with @key under
@group_name. If @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_int64" c:identifier="g_key_file_set_int64" version="2.26">
<doc xml:space="preserve">Associates a new integer value with @key under @group_name.
If @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_integer" c:identifier="g_key_file_set_integer" version="2.6">
<doc xml:space="preserve">Associates a new integer value with @key under @group_name.
If @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_integer_list" c:identifier="g_key_file_set_integer_list" version="2.6">
<doc xml:space="preserve">Associates a list of integer values with @key under @group_name.
If @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the character which is used to separate
values in lists. Typically ';' or ',' are used
as separators. The default list separator is ';'.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_locale_string" c:identifier="g_key_file_set_locale_string" version="2.6">
<doc xml:space="preserve">Associates a string value for @key and @locale under @group_name.
If the translation for @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Associates a list of string values for @key and @locale under
@group_name. If the translation for @key cannot be found then
it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @group_name cannot be found then it is created.
Unlike g_key_file_set_value(), this function handles characters
that need escaping, such as newlines.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Associates a list of string values for @key under @group_name.
If @key cannot be found then it is created.
If @group_name cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_uint64" c:identifier="g_key_file_set_uint64" version="2.26">
<doc xml:space="preserve">Associates a new integer value with @key under @group_name.
If @key cannot be found then it is created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
be found then it is created. To set an UTF-8 string which may contain
characters that need escaping (such as newlines or spaces), use
g_key_file_set_string().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that this function never reports an error,
so it is safe to pass %NULL as @error.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string holding
the contents of the #GKeyFile</doc>
<method name="unref" c:identifier="g_key_file_unref" version="2.32">
<doc xml:space="preserve">Decreases the reference count of @key_file by 1. If the reference count
reaches zero, frees the key file and all its allocated memory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<enumeration name="KeyFileError" c:type="GKeyFileError" glib:error-domain="g-key-file-error-quark">
<doc xml:space="preserve">Error codes returned by key file parsing.</doc>
-
<member name="unknown_encoding" value="0" c:identifier="G_KEY_FILE_ERROR_UNKNOWN_ENCODING">
<doc xml:space="preserve">the text being parsed was in
an unknown encoding</doc>
</enumeration>
<bitfield name="KeyFileFlags" c:type="GKeyFileFlags">
<doc xml:space="preserve">Flags which influence the parsing.</doc>
-
<member name="none" value="0" c:identifier="G_KEY_FILE_NONE">
<doc xml:space="preserve">No flags, default behaviour</doc>
</member>
if (G_LIKELY (random () != 1))
g_print ("not one");
]|</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression</doc>
<constant name="LITTLE_ENDIAN" value="1234" c:type="G_LITTLE_ENDIAN">
<doc xml:space="preserve">Specifies one of the possible types of byte order.
See #G_BYTE_ORDER.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="LN10" value="2.302585" c:type="G_LN10">
<doc xml:space="preserve">The natural logarithm of 10.</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="LN2" value="0.693147" c:type="G_LN2">
<doc xml:space="preserve">The natural logarithm of 2.</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<function-macro name="LOCK" c:identifier="G_LOCK" introspectable="0">
<doc xml:space="preserve">Works like g_mutex_lock(), but for a lock defined with
#G_LOCK_DEFINE.</doc>
-
<parameters>
<parameter name="name">
<doc xml:space="preserve">the name of the lock</doc>
return ret_val;
}
]|</doc>
-
<parameters>
<parameter name="name">
<doc xml:space="preserve">the name of the lock</doc>
</function-macro>
<function-macro name="LOCK_DEFINE_STATIC" c:identifier="G_LOCK_DEFINE_STATIC" introspectable="0">
<doc xml:space="preserve">This works like #G_LOCK_DEFINE, but it creates a static object.</doc>
-
<parameters>
<parameter name="name">
<doc xml:space="preserve">the name of the lock</doc>
<function-macro name="LOCK_EXTERN" c:identifier="G_LOCK_EXTERN" introspectable="0">
<doc xml:space="preserve">This declares a lock, that is defined with #G_LOCK_DEFINE in another
module.</doc>
-
<parameters>
<parameter name="name">
<doc xml:space="preserve">the name of the lock</doc>
</parameters>
</function-macro>
<function-macro name="LOCK_NAME" c:identifier="G_LOCK_NAME" introspectable="0">
-
<parameters>
<parameter name="name">
</parameter>
</function-macro>
<constant name="LOG_2_BASE_10" value="0.301030" c:type="G_LOG_2_BASE_10">
<doc xml:space="preserve">Multiplying the base 2 exponent by this number yields the base 10 exponent.</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="LOG_DOMAIN" value="0" c:type="G_LOG_DOMAIN">
Applications can choose to leave it as the default %NULL (or `""`)
domain. However, defining the domain offers the same advantages as
above.</doc>
-
<type name="gchar" c:type="gchar"/>
</constant>
<constant name="LOG_FATAL_MASK" value="5" c:type="G_LOG_FATAL_MASK">
This is not used if structured logging is enabled; see
[Using Structured Logging][using-structured-logging].</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="LOG_LEVEL_USER_SHIFT" value="8" c:type="G_LOG_LEVEL_USER_SHIFT">
<doc xml:space="preserve">Log levels below 1<<G_LOG_LEVEL_USER_SHIFT are used by GLib.
Higher bits can be used for user-defined log levels.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<record name="List" c:type="GList">
<doc xml:space="preserve">The #GList struct is used for each element in a doubly-linked list.</doc>
-
<field name="data" writable="1">
<doc xml:space="preserve">holds the element's data, which can be a pointer to any kind
of data, or any integer value using the
<doc xml:space="preserve">Allocates space for one #GList element. It is called by
g_list_append(), g_list_prepend(), g_list_insert() and
g_list_insert_sorted() and so is rarely used on its own.</doc>
-
<return-value>
<doc xml:space="preserve">a pointer to the newly-allocated #GList element</doc>
<type name="GLib.List" c:type="GList*">
number_list = g_list_append (number_list, GINT_TO_POINTER (27));
number_list = g_list_append (number_list, GINT_TO_POINTER (14));
]|</doc>
-
<return-value>
<doc xml:space="preserve">either @list or the new start of the #GList if @list was %NULL</doc>
<type name="GLib.List" c:type="GList*">
list = g_list_remove_link (list, llink);
list = g_list_concat (llink, list);
]|</doc>
-
<return-value>
<doc xml:space="preserve">the start of the new #GList, which equals @list1 if not %NULL</doc>
<type name="GLib.List" c:type="GList*">
consist of pointers to data, the pointers are copied but
the actual data is not. See g_list_copy_deep() if you need
to copy the data as well.</doc>
-
<return-value>
<doc xml:space="preserve">the start of the new list that holds the same data as @list</doc>
<type name="GLib.List" c:type="GList*">
|[<!-- language="C" -->
g_list_free_full (another_list, g_object_unref);
]|</doc>
-
<return-value>
<doc xml:space="preserve">the start of the new list that holds a full copy of @list,
use g_list_free_full() to free it</doc>
<doc xml:space="preserve">Removes the node link_ from the list and frees it.
Compare this to g_list_remove_link() which removes the node
without freeing it.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
</function>
<function name="find" c:identifier="g_list_find" introspectable="0">
<doc xml:space="preserve">Finds the element in a #GList which contains the given data.</doc>
-
<return-value>
<doc xml:space="preserve">the found #GList element, or %NULL if it is not found</doc>
<type name="GLib.List" c:type="GList*">
element is found. The function takes two #gconstpointer arguments,
the #GList element's data as the first argument and the
given user data.</doc>
-
<return-value>
<doc xml:space="preserve">the found #GList element, or %NULL if it is not found</doc>
<type name="GLib.List" c:type="GList*">
</function>
<function name="first" c:identifier="g_list_first" introspectable="0">
<doc xml:space="preserve">Gets the first element in a #GList.</doc>
-
<return-value>
<doc xml:space="preserve">the first element in the #GList,
or %NULL if the #GList has no elements</doc>
It is safe for @func to remove the element from @list, but it must
not modify any part of the list after that element.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
GList *list_of_borrowed_things = …; /<!-- -->* (transfer container) *<!-- -->/
g_list_free (g_steal_pointer (&list_of_borrowed_things));
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #GList</doc>
+ <doc xml:space="preserve">the first link of a #GList</doc>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</type>
element that is currently part of a list.
It is usually used after g_list_remove_link().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
GList *list_of_owned_things = …; /<!-- -->* (transfer full) (element-type GObject) *<!-- -->/
g_list_free_full (g_steal_pointer (&list_of_owned_things), g_object_unref);
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a pointer to a #GList</doc>
+ <doc xml:space="preserve">the first link of a #GList</doc>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</type>
<function name="index" c:identifier="g_list_index" introspectable="0">
<doc xml:space="preserve">Gets the position of the element containing
the given data (starting from 0).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the index of the element containing the data,
or -1 if the data is not found</doc>
</function>
<function name="insert" c:identifier="g_list_insert" introspectable="0">
<doc xml:space="preserve">Inserts a new element into the list at the given position.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
</function>
<function name="insert_before" c:identifier="g_list_insert_before" introspectable="0">
<doc xml:space="preserve">Inserts a new element into the list before the given position.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
</function>
<function name="insert_before_link" c:identifier="g_list_insert_before_link" version="2.62" introspectable="0">
<doc xml:space="preserve">Inserts @link_ into the list before the given position.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
new elements is much larger than the length of the list, use
g_list_prepend() to add the new items and sort the list afterwards
with g_list_sort().</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
new elements is much larger than the length of the list, use
g_list_prepend() to add the new items and sort the list afterwards
with g_list_sort().</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
</function>
<function name="last" c:identifier="g_list_last" introspectable="0">
<doc xml:space="preserve">Gets the last element in a #GList.</doc>
-
<return-value>
<doc xml:space="preserve">the last element in the #GList,
or %NULL if the #GList has no elements</doc>
Use a #GQueue instead of a GList if you regularly need the number
of items. To check whether the list is non-empty, it is faster to check
@list against %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of elements in the #GList</doc>
<type name="guint" c:type="guint"/>
This iterates over the list until it reaches the @n-th position. If you
intend to iterate over every element, it is better to use a for-loop as
described in the #GList introduction.</doc>
-
<return-value>
<doc xml:space="preserve">the element, or %NULL if the position is off
the end of the #GList</doc>
This iterates over the list until it reaches the @n-th position. If you
intend to iterate over every element, it is better to use a for-loop as
described in the #GList introduction.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the element's data, or %NULL if the position
is off the end of the #GList</doc>
</function>
<function name="nth_prev" c:identifier="g_list_nth_prev" introspectable="0">
<doc xml:space="preserve">Gets the element @n places before @list.</doc>
-
<return-value>
<doc xml:space="preserve">the element, or %NULL if the position is
off the end of the #GList</doc>
<function name="position" c:identifier="g_list_position" introspectable="0">
<doc xml:space="preserve">Gets the position of the given element
in the #GList (starting from 0).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the position of the element in the #GList,
or -1 if the element is not found</doc>
Do not use this function to prepend a new element to a different
element than the start of the list. Use g_list_insert_before() instead.</doc>
-
<return-value>
<doc xml:space="preserve">a pointer to the newly prepended element, which is the new
start of the #GList</doc>
<doc xml:space="preserve">Removes an element from a #GList.
If two elements contain the same data, only the first is removed.
If none of the elements contain the data, the #GList is unchanged.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
Returns the new head of the list. Contrast with
g_list_remove() which removes only the first node
matching the given data.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
free_some_data_that_may_access_the_list_again (llink->data);
g_list_free (llink);
]|</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
<function name="reverse" c:identifier="g_list_reverse" introspectable="0">
<doc xml:space="preserve">Reverses a #GList.
It simply switches the next and prev pointers of each element.</doc>
-
<return-value>
<doc xml:space="preserve">the start of the reversed #GList</doc>
<type name="GLib.List" c:type="GList*">
<function name="sort" c:identifier="g_list_sort" introspectable="0">
<doc xml:space="preserve">Sorts a #GList using the given comparison function. The algorithm
used is a stable sort.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
<function name="sort_with_data" c:identifier="g_list_sort_with_data" introspectable="0">
<doc xml:space="preserve">Like g_list_sort(), but the comparison function accepts
a user data argument.</doc>
-
<return-value>
<doc xml:space="preserve">the (possibly changed) start of the #GList</doc>
<type name="GLib.List" c:type="GList*">
bytes. If the field contains a string, the string must be UTF-8 encoded and
have a trailing nul byte. Otherwise, @length must be set to a non-negative
value.</doc>
-
<field name="key" writable="1">
<doc xml:space="preserve">field name (UTF-8 string)</doc>
<type name="utf8" c:type="const gchar*"/>
This is not used if structured logging is enabled; see
[Using Structured Logging][using-structured-logging].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is possible to change how GLib treats messages of the various
levels using g_log_set_handler() and g_log_set_fatal_mask().</doc>
-
<member name="flag_recursion" value="1" c:identifier="G_LOG_FLAG_RECURSION">
<doc xml:space="preserve">internal flag</doc>
</member>
send messages to a remote logging server and there is a network error), it
should return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be
chained and fall back to simpler handlers in case of failure.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_LOG_WRITER_HANDLED if the log entry was handled successfully;
%G_LOG_WRITER_UNHANDLED otherwise</doc>
If a #GLogWriterFunc ignores a log entry, it should return
%G_LOG_WRITER_HANDLED.</doc>
-
<member name="handled" value="1" c:identifier="G_LOG_WRITER_HANDLED">
<doc xml:space="preserve">Log writer has handled the log entry.</doc>
</member>
Like #glib_major_version, but from the headers used at
application compile time, rather than from the library
linked against at application run time.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="MAXINT16" value="32767" c:type="G_MAXINT16" version="2.4">
<doc xml:space="preserve">The maximum value which can be held in a #gint16.</doc>
-
<type name="gint16" c:type="gint16"/>
</constant>
<constant name="MAXINT32" value="2147483647" c:type="G_MAXINT32" version="2.4">
<doc xml:space="preserve">The maximum value which can be held in a #gint32.</doc>
-
<type name="gint32" c:type="gint32"/>
</constant>
<constant name="MAXINT64" value="9223372036854775807" c:type="G_MAXINT64">
<doc xml:space="preserve">The maximum value which can be held in a #gint64.</doc>
-
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="MAXINT8" value="127" c:type="G_MAXINT8" version="2.4">
<doc xml:space="preserve">The maximum value which can be held in a #gint8.</doc>
-
<type name="gint8" c:type="gint8"/>
</constant>
<constant name="MAXUINT16" value="65535" c:type="G_MAXUINT16" version="2.4">
<doc xml:space="preserve">The maximum value which can be held in a #guint16.</doc>
-
<type name="guint16" c:type="guint16"/>
</constant>
<constant name="MAXUINT32" value="4294967295" c:type="G_MAXUINT32" version="2.4">
<doc xml:space="preserve">The maximum value which can be held in a #guint32.</doc>
-
<type name="guint32" c:type="guint32"/>
</constant>
<constant name="MAXUINT64" value="18446744073709551615" c:type="G_MAXUINT64">
<doc xml:space="preserve">The maximum value which can be held in a #guint64.</doc>
-
<type name="guint64" c:type="guint64"/>
</constant>
<constant name="MAXUINT8" value="255" c:type="G_MAXUINT8" version="2.4">
<doc xml:space="preserve">The maximum value which can be held in a #guint8.</doc>
-
<type name="guint8" c:type="guint8"/>
</constant>
- <constant name="MICRO_VERSION" value="0" c:type="GLIB_MICRO_VERSION">
+ <constant name="MICRO_VERSION" value="7" c:type="GLIB_MICRO_VERSION">
<doc xml:space="preserve">The micro version number of the GLib library.
Like #gtk_micro_version, but from the headers used at
application compile time, rather than from the library
linked against at application run time.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="MININT16" value="-32768" c:type="G_MININT16" version="2.4">
<doc xml:space="preserve">The minimum value which can be held in a #gint16.</doc>
-
<type name="gint16" c:type="gint16"/>
</constant>
<constant name="MININT32" value="-2147483648" c:type="G_MININT32" version="2.4">
<doc xml:space="preserve">The minimum value which can be held in a #gint32.</doc>
-
<type name="gint32" c:type="gint32"/>
</constant>
<constant name="MININT64" value="-9223372036854775808" c:type="G_MININT64">
<doc xml:space="preserve">The minimum value which can be held in a #gint64.</doc>
-
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="MININT8" value="-128" c:type="G_MININT8" version="2.4">
<doc xml:space="preserve">The minimum value which can be held in a #gint8.</doc>
-
<type name="gint8" c:type="gint8"/>
</constant>
<constant name="MINOR_VERSION" value="66" c:type="GLIB_MINOR_VERSION">
Like #gtk_minor_version, but from the headers used at
application compile time, rather than from the library
linked against at application run time.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="MODULE_SUFFIX" value="so" c:type="G_MODULE_SUFFIX">
-
<type name="utf8" c:type="gchar*"/>
</constant>
<record name="MainContext" c:type="GMainContext" glib:type-name="GMainContext" glib:get-type="g_main_context_get_type" c:symbol-prefix="main_context">
<doc xml:space="preserve">The `GMainContext` struct is an opaque data
type representing a set of sources to be handled in a main loop.</doc>
-
<constructor name="new" c:identifier="g_main_context_new">
<doc xml:space="preserve">Creates a new #GMainContext structure.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GMainContext</doc>
<type name="MainContext" c:type="GMainContext*"/>
You must be the owner of a context before you
can call g_main_context_prepare(), g_main_context_query(),
g_main_context_check(), g_main_context_dispatch().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation succeeded, and
this thread is now the owner of @context.</doc>
<doc xml:space="preserve">Adds a file descriptor to the set of file descriptors polled for
this context. This will very seldom be used directly. Instead
a typical event source will use g_source_add_unix_fd() instead.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="check" c:identifier="g_main_context_check">
- <doc xml:space="preserve">Passes the results of polling back to the main loop.
+ <doc xml:space="preserve">Passes the results of polling back to the main loop. You should be
+careful to pass @fds and its length @n_fds as received from
+g_main_context_query(), as this functions relies on assumptions
+on how @fds is filled.
You must have successfully acquired the context with
g_main_context_acquire() before you may call this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if some sources are ready to be dispatched.</doc>
<type name="gboolean" c:type="gboolean"/>
You must have successfully acquired the context with
g_main_context_acquire() before you may call this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finds a source with the given source functions and user data. If
multiple sources exist with the same source function and user data,
the first one found will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the source, if one was found, otherwise %NULL</doc>
<type name="Source" c:type="GSource*"/>
is called on its (now invalid) source ID. This source ID may have
been reissued, leading to the operation being performed against the
wrong source.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GSource</doc>
<type name="Source" c:type="GSource*"/>
<doc xml:space="preserve">Finds a source with the given user data for the callback. If
multiple sources exist with the same user data, the first
one found will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the source, if one was found, otherwise %NULL</doc>
<type name="Source" c:type="GSource*"/>
</method>
<method name="get_poll_func" c:identifier="g_main_context_get_poll_func" introspectable="0">
<doc xml:space="preserve">Gets the poll function set by g_main_context_set_poll_func().</doc>
-
<return-value>
<doc xml:space="preserve">the poll function</doc>
<type name="PollFunc" c:type="GPollFunc"/>
Note that, as with normal idle functions, @function should probably
return %FALSE. If it returns %TRUE, it will be continuously run in a
loop (and may prevent this call from returning).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@notify should not assume that it is called from any particular
thread or with any particular context acquired.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
ownership of this #GMainContext. This is useful to
know before waiting on another thread that may be
blocking to get ownership of @context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if current thread is owner of @context.</doc>
<type name="gboolean" c:type="gboolean"/>
Note that even when @may_block is %TRUE, it is still possible for
g_main_context_iteration() to return %FALSE, since the wait may
be interrupted for other reasons than an event source becoming ready.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if events were dispatched.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="pending" c:identifier="g_main_context_pending">
<doc xml:space="preserve">Checks if any sources have pending events for the given context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if events are pending.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="pop_thread_default" c:identifier="g_main_context_pop_thread_default" version="2.22">
<doc xml:space="preserve">Pops @context off the thread-default context stack (verifying that
it was on the top of the stack).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
You must have successfully acquired the context with
g_main_context_acquire() before you may call this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if some source is ready to be dispatched
prior to polling.</doc>
Beware that libraries that predate this function may not correctly
handle being used from a thread with a thread-default context. Eg,
see g_file_supports_thread_contexts().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="query" c:identifier="g_main_context_query">
- <doc xml:space="preserve">Determines information necessary to poll this main loop.
+ <doc xml:space="preserve">Determines information necessary to poll this main loop. You should
+be careful to pass the resulting @fds array and its length @n_fds
+as is when calling g_main_context_check(), as this function relies
+on assumptions made when the array is filled.
You must have successfully acquired the context with
g_main_context_acquire() before you may call this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of records actually stored in @fds,
or, if more than @n_fds records need to be stored, the number
</method>
<method name="ref" c:identifier="g_main_context_ref">
<doc xml:space="preserve">Increases the reference count on a #GMainContext object by one.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the @context that was passed in (since 2.6)</doc>
<type name="MainContext" c:type="GMainContext*"/>
with g_main_context_acquire(). If the context was acquired multiple
times, the ownership will be released only when g_main_context_release()
is called as many times as it was acquired.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="remove_poll" c:identifier="g_main_context_remove_poll">
<doc xml:space="preserve">Removes file descriptor from the set of file descriptors to be
polled for a particular context.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function could possibly be used to integrate the GLib event
loop with an external event loop.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="unref" c:identifier="g_main_context_unref">
<doc xml:space="preserve">Decreases the reference count on a #GMainContext object by one. If
the result is zero, free the context and free all associated memory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
that owner releases ownership or until @cond is signaled, then
try again (once) to become the owner.</doc>
<doc-deprecated xml:space="preserve">Use g_main_context_is_owner() and separate locking instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation succeeded, and
this thread is now the owner of @context.</doc>
|[<!-- language="C" -->
#define NUM_TASKS 10
- static volatile gint tasks_remaining = NUM_TASKS;
+ static gint tasks_remaining = NUM_TASKS; // (atomic)
...
while (g_atomic_int_get (&tasks_remaining) != 0)
if (g_atomic_int_dec_and_test (&tasks_remaining))
g_main_context_wakeup (NULL);
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
used for main loop functions when a main loop is not explicitly
specified, and corresponds to the "main" main loop. See also
g_main_context_get_thread_default().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the global default main context.</doc>
<type name="MainContext" c:type="GMainContext*"/>
If you need to hold a reference on the context, use
g_main_context_ref_thread_default() instead.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the thread-default #GMainContext, or
%NULL if the thread-default context is the global default context.</doc>
<type name="MainContext" c:type="GMainContext*"/>
g_main_context_get_thread_default(), if the thread-default context
is the global default context, this will return that #GMainContext
(with a ref added to it) rather than returning %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the thread-default #GMainContext. Unref
with g_main_context_unref() when you are done with it.</doc>
<record name="MainLoop" c:type="GMainLoop" glib:type-name="GMainLoop" glib:get-type="g_main_loop_get_type" c:symbol-prefix="main_loop">
<doc xml:space="preserve">The `GMainLoop` struct is an opaque data type
representing the main event loop of a GLib or GTK+ application.</doc>
-
<constructor name="new" c:identifier="g_main_loop_new">
<doc xml:space="preserve">Creates a new #GMainLoop structure.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMainLoop.</doc>
<type name="MainLoop" c:type="GMainLoop*"/>
</constructor>
<method name="get_context" c:identifier="g_main_loop_get_context">
<doc xml:space="preserve">Returns the #GMainContext of @loop.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GMainContext of @loop</doc>
<type name="MainContext" c:type="GMainContext*"/>
</method>
<method name="is_running" c:identifier="g_main_loop_is_running">
<doc xml:space="preserve">Checks to see if the main loop is currently being run via g_main_loop_run().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mainloop is currently being run.</doc>
<type name="gboolean" c:type="gboolean"/>
Note that sources that have already been dispatched when
g_main_loop_quit() is called will still be executed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ref" c:identifier="g_main_loop_ref">
<doc xml:space="preserve">Increases the reference count on a #GMainLoop object by one.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@loop</doc>
<type name="MainLoop" c:type="GMainLoop*"/>
If this is called for the thread of the loop's #GMainContext,
it will process events from the loop, otherwise it will
simply wait.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="unref" c:identifier="g_main_loop_unref">
<doc xml:space="preserve">Decreases the reference count on a #GMainLoop object by one. If
the result is zero, free the loop and free all associated memory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">The #GMappedFile represents a file mapping created with
g_mapped_file_new(). It has only private members and should
not be accessed directly.</doc>
-
<constructor name="new" c:identifier="g_mapped_file_new" version="2.8" throws="1">
<doc xml:space="preserve">Maps a file into memory. On UNIX, this is using the mmap() function.
will successfully return an empty #GMappedFile. In other cases of
size 0 (e.g. device files such as /dev/null), @error will be set
to the #GFileError value #G_FILE_ERROR_INVAL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GMappedFile which must be unref'd
with g_mapped_file_unref(), or %NULL if the mapping failed.</doc>
of the #GMappedFile. Therefore, mapping should only be used if the file
will not be modified, or if all modifications of the file are done
atomically (e.g. using g_file_set_contents()).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GMappedFile which must be unref'd
with g_mapped_file_unref(), or %NULL if the mapping failed.</doc>
<doc xml:space="preserve">This call existed before #GMappedFile had refcounting and is currently
exactly the same as g_mapped_file_unref().</doc>
<doc-deprecated xml:space="preserve">Use g_mapped_file_unref() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Creates a new #GBytes which references the data mapped from @file.
The mapped contents of the file must not be modified after creating this
bytes object, because a #GBytes should be immutable.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly allocated #GBytes referencing data
from @file</doc>
even if the #GMappedFile is backed by a text file.
If the file is empty then %NULL is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the contents of @file, or %NULL.</doc>
<type name="utf8" c:type="gchar*"/>
</method>
<method name="get_length" c:identifier="g_mapped_file_get_length" version="2.8">
<doc xml:space="preserve">Returns the length of the contents of a #GMappedFile.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the contents of @file.</doc>
<type name="gsize" c:type="gsize"/>
<method name="ref" c:identifier="g_mapped_file_ref" version="2.22">
<doc xml:space="preserve">Increments the reference count of @file by one. It is safe to call
this function from any thread.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the passed in #GMappedFile.</doc>
<type name="MappedFile" c:type="GMappedFile*"/>
It is safe to call this function from any thread.
Since 2.22</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is likely that this enum will be extended in the future to
support other types.</doc>
-
<member name="invalid" value="0" c:identifier="G_MARKUP_COLLECT_INVALID">
<doc xml:space="preserve">used to terminate the list of attributes
to collect</doc>
</bitfield>
<enumeration name="MarkupError" c:type="GMarkupError" glib:error-domain="g-markup-error-quark">
<doc xml:space="preserve">Error codes returned by markup parsing.</doc>
-
<member name="bad_utf8" value="0" c:identifier="G_MARKUP_ERROR_BAD_UTF8">
<doc xml:space="preserve">text being parsed was not valid UTF-8</doc>
</member>
See g_markup_parse_context_new(), #GMarkupParser, and so
on for more details.</doc>
-
<constructor name="new" c:identifier="g_markup_parse_context_new">
<doc xml:space="preserve">Creates a new parse context. A parse context is used to parse
marked-up documents. You can feed any number of documents into
a context, as long as no errors occur; once an error occurs,
the parse context can't continue to parse text (you have to
free it and create a new parse context).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMarkupParseContext</doc>
<type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
This function reports an error if the document isn't complete,
for example if elements are still open.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error was set</doc>
<type name="gboolean" c:type="gboolean"/>
This function can't be called from inside one of the
#GMarkupParser functions or while a subparser is pushed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If called from the start_element or end_element handlers this will
give the element_name as passed to those functions. For the parent
elements, see g_markup_parse_context_get_element_stack().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the currently open element, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
end_element handlers where g_markup_parse_context_get_element()
would merely return the name of the element that is being
processed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the element stack, which must not be modified</doc>
<type name="GLib.SList" c:type="const GSList*">
that line. Intended for use in error messages; there are no strict
semantics for what constitutes the "current" line number other than
"the best number we could come up with for error messages."</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This will either be the user_data that was provided to
g_markup_parse_context_new() or to the most recent call
of g_markup_parse_context_push().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the provided user_data. The returned data belongs to
the markup context and will be freed when
function, aborting the process if an error occurs. Once an error
is reported, no further data may be fed to the #GMarkupParseContext;
all errors are fatal.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if an error occurred, %TRUE on success</doc>
<type name="gboolean" c:type="gboolean"/>
interested in invoking subparsers. Instead, it is intended to
be used by the subparsers themselves to implement a higher-level
interface.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the user data passed to g_markup_parse_context_push()</doc>
<type name="gpointer" c:type="gpointer"/>
// else, handle other tags...
}
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ref" c:identifier="g_markup_parse_context_ref" version="2.36">
<doc xml:space="preserve">Increases the reference count of @context.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the same @context</doc>
<type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
<method name="unref" c:identifier="g_markup_parse_context_unref" version="2.36">
<doc xml:space="preserve">Decreases the reference count of @context. When its reference count
drops to 0, it is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<bitfield name="MarkupParseFlags" c:type="GMarkupParseFlags">
<doc xml:space="preserve">Flags that affect the behaviour of the parser.</doc>
-
<member name="do_not_use_this_unsupported_flag" value="1" c:identifier="G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG">
<doc xml:space="preserve">flag you should not use</doc>
</member>
errors are intended to be set from these callbacks. If you set an error
from a callback, g_markup_parse_context_parse() will report that error
back to its caller.</doc>
-
<field name="start_element">
<callback name="start_element" throws="1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="end_element">
<callback name="end_element" throws="1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="text">
<callback name="text" throws="1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="passthrough">
<callback name="passthrough" throws="1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="error">
<callback name="error">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="MatchInfo" c:type="GMatchInfo" glib:type-name="GMatchInfo" glib:get-type="g_match_info_get_type" c:symbol-prefix="match_info">
<doc xml:space="preserve">A GMatchInfo is an opaque struct used to return information about
matches.</doc>
-
<method name="expand_references" c:identifier="g_match_info_expand_references" version="2.14" throws="1">
<doc xml:space="preserve">Returns a new string containing the text in @string_to_expand with
references and escape sequences expanded. References refer to the last
while to expand "\0" (whole match) one needs the result of a match.
Use g_regex_check_replacement() to find out whether @string_to_expand
contains references.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the expanded string, or %NULL if an error occurred</doc>
<type name="utf8" c:type="gchar*"/>
The string is fetched from the string passed to the match function,
so you cannot call this function after freeing the string.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The matched substring, or %NULL if an error
occurred. You have to free the string yourself</doc>
The strings are fetched from the string passed to the match function,
so you cannot call this function after freeing the string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of gchar *
pointers. It must be freed using g_strfreev(). If the previous
The string is fetched from the string passed to the match function,
so you cannot call this function after freeing the string.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The matched substring, or %NULL if an error
occurred. You have to free the string yourself</doc>
If @name is a valid sub pattern name but it didn't match anything
(e.g. sub pattern "X", matching "b" against "(?P<X>a)?b")
then @start_pos and @end_pos are set to -1 and %TRUE is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the position was fetched, %FALSE otherwise.
If the position cannot be fetched, @start_pos and @end_pos
position is not that of a set of parentheses but that of a matched
substring. Substrings are matched in reverse order of length, so
0 is the longest match.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the position was fetched, %FALSE otherwise. If
the position cannot be fetched, @start_pos and @end_pos are left
<method name="free" c:identifier="g_match_info_free" version="2.14">
<doc xml:space="preserve">If @match_info is not %NULL, calls g_match_info_unref(); otherwise does
nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
using g_regex_match_all() or g_regex_match_all_full(), the retrieved
count is not that of the number of capturing parentheses but that of
the number of matched substrings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of matched substrings, or -1 if an error occurred</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">Returns #GRegex object used in @match_info. It belongs to Glib
and must not be freed. Use g_regex_ref() if you need to keep it
after you free @match_info object.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GRegex object used in @match_info</doc>
<type name="Regex" c:type="GRegex*"/>
<doc xml:space="preserve">Returns the string searched with @match_info. This is the
string passed to g_regex_match() or g_regex_replace() so
you may not free it before calling this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the string searched with @match_info</doc>
<type name="utf8" c:type="const gchar*"/>
The restrictions no longer apply.
See pcrepartial(3) for more information on partial matching.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the match was partial, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="matches" c:identifier="g_match_info_matches" version="2.14">
<doc xml:space="preserve">Returns whether the previous match operation succeeded.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the previous match operation succeeded,
%FALSE otherwise</doc>
The match is done on the string passed to the match function, so you
cannot free it before calling this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE is the string matched, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="ref" c:identifier="g_match_info_ref" version="2.30">
<doc xml:space="preserve">Increases reference count of @match_info by 1.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@match_info</doc>
<type name="MatchInfo" c:type="GMatchInfo*"/>
<method name="unref" c:identifier="g_match_info_unref" version="2.30">
<doc xml:space="preserve">Decreases reference count of @match_info by 1. When reference count drops
to zero, it frees all the memory associated with the match_info structure.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
if it exists, should be prior to any use of GLib.
This functions related to this has been deprecated in 2.46, and no longer work.</doc>
-
<field name="malloc">
<callback name="malloc">
-
<return-value transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</field>
<field name="realloc">
<callback name="realloc">
-
<return-value transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</field>
<field name="free">
<callback name="free">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="calloc">
<callback name="calloc">
-
<return-value transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</field>
<field name="try_malloc">
<callback name="try_malloc">
-
<return-value transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</return-value>
</field>
<field name="try_realloc">
<callback name="try_realloc">
-
<return-value transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</return-value>
then it must be explicitly initialised using g_mutex_init().
A #GMutex should only be accessed via g_mutex_ functions.</doc>
-
<field name="p" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
behaviour.
Sine: 2.32</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Calling g_mutex_init() on an already initialized #GMutex leads
to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
non-recursive. As such, calling g_mutex_lock() on a #GMutex that has
already been locked by the same thread results in undefined behaviour
(including but not limited to deadlocks).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
non-recursive. As such, calling g_mutex_lock() on a #GMutex that has
already been locked by the same thread results in undefined behaviour
(including but not limited to deadlocks or arbitrary return values).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mutex could be locked</doc>
<type name="gboolean" c:type="gboolean"/>
Calling g_mutex_unlock() on a mutex that is not locked by the
current thread leads to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</union>
<function-macro name="NODE_IS_LEAF" c:identifier="G_NODE_IS_LEAF" introspectable="0">
<doc xml:space="preserve">Returns %TRUE if a #GNode is a leaf node.</doc>
-
<parameters>
<parameter name="node">
<doc xml:space="preserve">a #GNode</doc>
</function-macro>
<function-macro name="NODE_IS_ROOT" c:identifier="G_NODE_IS_ROOT" introspectable="0">
<doc xml:space="preserve">Returns %TRUE if a #GNode is the root of a tree.</doc>
-
<parameters>
<parameter name="node">
<doc xml:space="preserve">a #GNode</doc>
declared so the compiler knows its size at compile-time; this
macro will not work on an array allocated on the heap, only static
arrays or arrays on the stack.</doc>
-
<parameters>
<parameter name="arr">
<doc xml:space="preserve">the array</doc>
</function-macro>
<record name="Node" c:type="GNode">
<doc xml:space="preserve">The #GNode struct represents one node in a [n-ary tree][glib-N-ary-Trees].</doc>
-
<field name="data" writable="1">
<doc xml:space="preserve">contains the actual data of the node.</doc>
<type name="gpointer" c:type="gpointer"/>
<method name="child_index" c:identifier="g_node_child_index">
<doc xml:space="preserve">Gets the position of the first child of a #GNode
which contains the given data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the index of the child of @node which contains
@data, or -1 if the data is not found</doc>
<doc xml:space="preserve">Gets the position of a #GNode with respect to its siblings.
@child must be a child of @node. The first child is numbered 0,
the second 1, and so on.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the position of @child with respect to its siblings</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">Calls a function for each of the children of a #GNode. Note that it
doesn't descend beneath the child nodes. @func must not do anything
that would modify the structure of the tree.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="copy" c:identifier="g_node_copy" introspectable="0">
<doc xml:space="preserve">Recursively copies a #GNode (but does not deep-copy the data inside the
nodes, see g_node_copy_deep() if you need that).</doc>
-
<return-value>
<doc xml:space="preserve">a new #GNode containing the same data pointers</doc>
<type name="Node" c:type="GNode*"/>
</method>
<method name="copy_deep" c:identifier="g_node_copy_deep" version="2.4" introspectable="0">
<doc xml:space="preserve">Recursively copies a #GNode and its data.</doc>
-
<return-value>
<doc xml:space="preserve">a new #GNode containing copies of the data in @node.</doc>
<type name="Node" c:type="GNode*"/>
If @node is %NULL the depth is 0. The root node has a depth of 1.
For the children of the root node the depth is 2. And so on.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the depth of the #GNode</doc>
<type name="guint" c:type="guint"/>
<method name="destroy" c:identifier="g_node_destroy">
<doc xml:space="preserve">Removes @root and its children from the tree, freeing any memory
allocated.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="find" c:identifier="g_node_find" introspectable="0">
<doc xml:space="preserve">Finds a #GNode in a tree.</doc>
-
<return-value>
<doc xml:space="preserve">the found #GNode, or %NULL if the data is not found</doc>
<type name="Node" c:type="GNode*"/>
</method>
<method name="find_child" c:identifier="g_node_find_child" introspectable="0">
<doc xml:space="preserve">Finds the first child of a #GNode with the given data.</doc>
-
<return-value>
<doc xml:space="preserve">the found child #GNode, or %NULL if the data is not found</doc>
<type name="Node" c:type="GNode*"/>
<method name="first_sibling" c:identifier="g_node_first_sibling" introspectable="0">
<doc xml:space="preserve">Gets the first sibling of a #GNode.
This could possibly be the node itself.</doc>
-
<return-value>
<doc xml:space="preserve">the first sibling of @node</doc>
<type name="Node" c:type="GNode*"/>
</method>
<method name="get_root" c:identifier="g_node_get_root" introspectable="0">
<doc xml:space="preserve">Gets the root of a tree.</doc>
-
<return-value>
<doc xml:space="preserve">the root of the tree</doc>
<type name="Node" c:type="GNode*"/>
</method>
<method name="insert" c:identifier="g_node_insert" introspectable="0">
<doc xml:space="preserve">Inserts a #GNode beneath the parent at the given position.</doc>
-
<return-value>
<doc xml:space="preserve">the inserted #GNode</doc>
<type name="Node" c:type="GNode*"/>
</method>
<method name="insert_after" c:identifier="g_node_insert_after" introspectable="0">
<doc xml:space="preserve">Inserts a #GNode beneath the parent after the given sibling.</doc>
-
<return-value>
<doc xml:space="preserve">the inserted #GNode</doc>
<type name="Node" c:type="GNode*"/>
</method>
<method name="insert_before" c:identifier="g_node_insert_before" introspectable="0">
<doc xml:space="preserve">Inserts a #GNode beneath the parent before the given sibling.</doc>
-
<return-value>
<doc xml:space="preserve">the inserted #GNode</doc>
<type name="Node" c:type="GNode*"/>
<doc xml:space="preserve">Returns %TRUE if @node is an ancestor of @descendant.
This is true if node is the parent of @descendant,
or if node is the grandparent of @descendant etc.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @node is an ancestor of @descendant</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="last_child" c:identifier="g_node_last_child" introspectable="0">
<doc xml:space="preserve">Gets the last child of a #GNode.</doc>
-
<return-value>
<doc xml:space="preserve">the last child of @node, or %NULL if @node has no children</doc>
<type name="Node" c:type="GNode*"/>
<method name="last_sibling" c:identifier="g_node_last_sibling" introspectable="0">
<doc xml:space="preserve">Gets the last sibling of a #GNode.
This could possibly be the node itself.</doc>
-
<return-value>
<doc xml:space="preserve">the last sibling of @node</doc>
<type name="Node" c:type="GNode*"/>
If @root is %NULL, 0 is returned. If @root has no children,
1 is returned. If @root has children, 2 is returned. And so on.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximum height of the tree beneath @root</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="n_children" c:identifier="g_node_n_children">
<doc xml:space="preserve">Gets the number of children of a #GNode.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of children of @node</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="n_nodes" c:identifier="g_node_n_nodes">
<doc xml:space="preserve">Gets the number of nodes in a tree.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of nodes in the tree</doc>
<type name="guint" c:type="guint"/>
<doc xml:space="preserve">Gets a child of a #GNode, using the given index.
The first child is at index 0. If the index is
too big, %NULL is returned.</doc>
-
<return-value>
<doc xml:space="preserve">the child of @node at index @n</doc>
<type name="Node" c:type="GNode*"/>
</method>
<method name="prepend" c:identifier="g_node_prepend" introspectable="0">
<doc xml:space="preserve">Inserts a #GNode as the first child of the given parent.</doc>
-
<return-value>
<doc xml:space="preserve">the inserted #GNode</doc>
<type name="Node" c:type="GNode*"/>
<method name="reverse_children" c:identifier="g_node_reverse_children">
<doc xml:space="preserve">Reverses the order of the children of a #GNode.
(It doesn't change the order of the grandchildren.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It calls the given function for each node visited.
The traversal can be halted at any point by returning %TRUE from @func.
@func must not do anything that would modify the structure of the tree.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unlink" c:identifier="g_node_unlink">
<doc xml:space="preserve">Unlinks a #GNode from a tree, resulting in two separate trees.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="new" c:identifier="g_node_new" introspectable="0">
<doc xml:space="preserve">Creates a new #GNode containing the given data.
Used to create the first node in a tree.</doc>
-
<return-value>
<doc xml:space="preserve">a new #GNode</doc>
<type name="Node" c:type="GNode*"/>
<doc xml:space="preserve">Specifies the type of function passed to g_node_children_foreach().
The function is called with each child node, together with the user
data passed to g_node_children_foreach().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
function is called with each of the nodes visited, together with the
user data passed to g_node_traverse(). If the function returns
%TRUE, then the traversal is stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE to stop the traversal.</doc>
<type name="gboolean" c:type="gboolean"/>
an accent is represented as a base character and combining
accent or as a single precomposed character. Unicode strings
should generally be normalized before comparing them.</doc>
-
<member name="default" value="0" c:identifier="G_NORMALIZE_DEFAULT">
<doc xml:space="preserve">standardize differences that do not affect the
text content, such as the above-mentioned accent representation</doc>
</enumeration>
<enumeration name="NumberParserError" version="2.54" c:type="GNumberParserError" glib:error-domain="g-number-parser-error-quark">
<doc xml:space="preserve">Error codes returned by functions converting a string to a number.</doc>
-
<member name="invalid" value="0" c:identifier="G_NUMBER_PARSER_ERROR_INVALID">
<doc xml:space="preserve">String was not a valid number.</doc>
</member>
Using #G_OPTION_REMAINING instead of simply scanning `argv`
for leftover arguments has the advantage that GOption takes care of
necessary encoding conversions for strings or filenames.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<record name="Once" c:type="GOnce" version="2.4">
<doc xml:space="preserve">A #GOnce struct controls a one-time initialization function. Any
one-time initialization function must have its own unique #GOnce
struct.</doc>
-
<field name="status" writable="1">
<doc xml:space="preserve">the status of the #GOnce</doc>
<type name="OnceStatus" c:type="volatile GOnceStatus"/>
<type name="gpointer" c:type="volatile gpointer"/>
</field>
<method name="impl" c:identifier="g_once_impl" introspectable="0">
-
<return-value transfer-ownership="none" nullable="1">
<type name="gpointer" c:type="gpointer"/>
</return-value>
}
// use initialization_value here
-]|</doc>
-
+]|
+
+While @location has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the initialization section should be entered,
%FALSE and blocks otherwise</doc>
0-initialized initialization variable, and an initialization value
other than 0. Sets the variable to the initialization value, and
releases concurrent threads blocking in g_once_init_enter() on this
-initialization variable.</doc>
-
+initialization variable.
+
+While @location has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<enumeration name="OnceStatus" version="2.4" c:type="GOnceStatus">
<doc xml:space="preserve">The possible statuses of a one-time initialization function
controlled by a #GOnce struct.</doc>
-
<member name="notcalled" value="0" c:identifier="G_ONCE_STATUS_NOTCALLED">
<doc xml:space="preserve">the function has not been called yet.</doc>
</member>
options expect to find. If an option expects an extra argument, it can
be specified in several ways; with a short option: `-x arg`, with a long
option: `--name arg` or combined in a single argument: `--name=arg`.</doc>
-
<member name="none" value="0" c:identifier="G_OPTION_ARG_NONE">
<doc xml:space="preserve">No extra argument. This is useful for simple flags.</doc>
</member>
<callback name="OptionArgFunc" c:type="GOptionArgFunc" throws="1">
<doc xml:space="preserve">The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK
options.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the option was successfully parsed, %FALSE if an error
occurred, in which case @error should be set with g_set_error()</doc>
<doc xml:space="preserve">A `GOptionContext` struct defines which options
are accepted by the commandline option parser. The struct has only private
fields and should not be directly accessed.</doc>
-
<method name="add_group" c:identifier="g_option_context_add_group" version="2.6">
<doc xml:space="preserve">Adds a #GOptionGroup to the @context, so that parsing with @context
will recognize the options in the group. Note that this will take
ownership of the @group and thus the @group should not be freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="add_main_entries" c:identifier="g_option_context_add_main_entries" version="2.6">
<doc xml:space="preserve">A convenience function which creates a main group if it doesn't
exist, adds the @entries to it and sets the translation domain.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Please note that parsed arguments need to be freed separately (see
#GOptionEntry).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_description" c:identifier="g_option_context_get_description" version="2.12">
<doc xml:space="preserve">Returns the description. See g_option_context_set_description().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the description</doc>
<type name="utf8" c:type="const gchar*"/>
`g_option_context_get_help (context, FALSE, NULL)`.
To obtain the help text for an option group, call
`g_option_context_get_help (context, FALSE, group)`.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly allocated string containing the help text</doc>
<type name="utf8" c:type="gchar*"/>
<method name="get_help_enabled" c:identifier="g_option_context_get_help_enabled" version="2.6">
<doc xml:space="preserve">Returns whether automatic `--help` generation
is turned on for @context. See g_option_context_set_help_enabled().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if automatic help generation is turned on.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_ignore_unknown_options" c:identifier="g_option_context_get_ignore_unknown_options" version="2.6">
<doc xml:space="preserve">Returns whether unknown options are ignored or not. See
g_option_context_set_ignore_unknown_options().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if unknown options are ignored.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_main_group" c:identifier="g_option_context_get_main_group" version="2.6">
<doc xml:space="preserve">Returns a pointer to the main group of @context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the main group of @context, or %NULL if
@context doesn't have a main group. Note that group belongs to
<doc xml:space="preserve">Returns whether strict POSIX code is enabled.
See g_option_context_set_strict_posix() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if strict POSIX is enabled, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_summary" c:identifier="g_option_context_get_summary" version="2.12">
<doc xml:space="preserve">Returns the summary. See g_option_context_set_summary().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the summary</doc>
<type name="utf8" c:type="const gchar*"/>
Note that function depends on the [current locale][setlocale] for
automatic character set conversion of string and filename
arguments.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the parsing was successful,
%FALSE if an error occurred</doc>
This function is useful if you are trying to use #GOptionContext with
#GApplication.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the parsing was successful,
%FALSE if an error occurred</doc>
Note that the summary is translated (see
g_option_context_set_translate_func()).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
By default, g_option_context_parse() recognizes `--help`, `-h`,
`-?`, `--help-all` and `--help-groupname` and creates suitable
output to stdout.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This setting does not affect non-option arguments (i.e. arguments
which don't start with a dash). But note that GOption cannot reliably
determine whether a non-option belongs to a preceding unknown option.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This has the same effect as calling g_option_context_add_group(),
the only difference is that the options in the main group are
treated differently when generating `--help` output.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
parsed by the relevant subcommand (which can be determined by
examining the verb name, which should be present in argv[1] after
parsing).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that the summary is translated (see
g_option_context_set_translate_func() and
g_option_context_set_translation_domain()).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If you are using gettext(), you only need to set the translation
domain, see g_option_context_set_translation_domain().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_translation_domain" c:identifier="g_option_context_set_translation_domain" version="2.12">
<doc xml:space="preserve">A convenience function to use gettext() for translating
user-visible strings.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that the @parameter_string is translated using the
function set with g_option_context_set_translate_func(), so
it should normally be passed untranslated.</doc>
-
<return-value>
<doc xml:space="preserve">a newly created #GOptionContext, which must be
freed with g_option_context_free() after use.</doc>
<doc xml:space="preserve">A GOptionEntry struct defines a single option. To have an effect, they
must be added to a #GOptionGroup with g_option_context_add_main_entries()
or g_option_group_add_entries().</doc>
-
<field name="long_name" writable="1">
<doc xml:space="preserve">The long name of an option can be used to specify it
in a commandline as `--long_name`. Every option must have a
</record>
<enumeration name="OptionError" c:type="GOptionError" glib:error-domain="g-option-error-quark">
<doc xml:space="preserve">Error codes returned by option parsing.</doc>
-
<member name="unknown_option" value="0" c:identifier="G_OPTION_ERROR_UNKNOWN_OPTION">
<doc xml:space="preserve">An option was not known to the parser.
This error will only be reported, if the parser hasn't been instructed
</enumeration>
<callback name="OptionErrorFunc" c:type="GOptionErrorFunc" throws="1">
<doc xml:space="preserve">The type of function to be used as callback when a parse error occurs.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<bitfield name="OptionFlags" c:type="GOptionFlags">
<doc xml:space="preserve">Flags which modify individual options.</doc>
-
<member name="none" value="0" c:identifier="G_OPTION_FLAG_NONE">
<doc xml:space="preserve">No flags. Since: 2.42.</doc>
</member>
need to parse commandline options are expected to provide a function for
getting a `GOptionGroup` holding their options, which
the application can then add to its #GOptionContext.</doc>
-
<constructor name="new" c:identifier="g_option_group_new" version="2.6">
<doc xml:space="preserve">Creates a new #GOptionGroup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly created option group. It should be added
to a #GOptionContext or freed with g_option_group_unref().</doc>
</constructor>
<method name="add_entries" c:identifier="g_option_group_add_entries" version="2.6">
<doc xml:space="preserve">Adds the options specified in @entries to @group.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Frees a #GOptionGroup. Note that you must not free groups
which have been added to a #GOptionContext.</doc>
<doc-deprecated xml:space="preserve">Use g_option_group_unref() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ref" c:identifier="g_option_group_ref" version="2.44">
<doc xml:space="preserve">Increments the reference count of @group by one.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GOptionGroup</doc>
<type name="OptionGroup" c:type="GOptionGroup*"/>
Note that the user data to be passed to @error_func can be
specified when constructing the group with g_option_group_new().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that the user data to be passed to @pre_parse_func and
@post_parse_func can be specified when constructing the group
with g_option_group_new().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If you are using gettext(), you only need to set the translation
domain, see g_option_group_set_translation_domain().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_translation_domain" c:identifier="g_option_group_set_translation_domain" version="2.6">
<doc xml:space="preserve">A convenience function to use gettext() for translating
user-visible strings.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Decrements the reference count of @group by one.
If the reference count drops to 0, the @group will be freed.
and all memory allocated by the @group is released.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<callback name="OptionParseFunc" c:type="GOptionParseFunc" throws="1">
<doc xml:space="preserve">The type of function that can be called before and after parsing.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the function completed successfully, %FALSE if an error
occurred, in which case @error should be set with g_set_error()</doc>
<constant name="PDP_ENDIAN" value="3412" c:type="G_PDP_ENDIAN">
<doc xml:space="preserve">Specifies one of the possible types of byte order
(currently unused). See #G_BYTE_ORDER.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="PI" value="3.141593" c:type="G_PI">
<doc xml:space="preserve">The value of pi (ratio of circle's circumference to its diameter).</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="PID_FORMAT" value="i" c:type="G_PID_FORMAT" version="2.50">
<doc xml:space="preserve">A format specifier that can be used in printf()-style format strings
when printing a #GPid.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PI_2" value="1.570796" c:type="G_PI_2">
<doc xml:space="preserve">Pi divided by 2.</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="PI_4" value="0.785398" c:type="G_PI_4">
<doc xml:space="preserve">Pi divided by 4.</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="POLLFD_FORMAT" value="%d" c:type="G_POLLFD_FORMAT">
<doc xml:space="preserve">A format specifier that can be used in printf()-style format strings
when printing the @fd member of a #GPollFD.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PRIORITY_DEFAULT" value="0" c:type="G_PRIORITY_DEFAULT">
In GLib this priority is used when adding timeout functions
with g_timeout_add(). In GDK this priority is used for events
from the X server.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="PRIORITY_DEFAULT_IDLE" value="200" c:type="G_PRIORITY_DEFAULT_IDLE">
In GLib this priority is used when adding idle functions with
g_idle_add().</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="PRIORITY_HIGH" value="-100" c:type="G_PRIORITY_HIGH">
<doc xml:space="preserve">Use this for high priority event sources.
It is not used within GLib or GTK+.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="PRIORITY_HIGH_IDLE" value="100" c:type="G_PRIORITY_HIGH_IDLE">
and #G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is
done to ensure that any pending resizes are processed before any
pending redraws, so that widgets are not redrawn twice unnecessarily.)</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="PRIORITY_LOW" value="300" c:type="G_PRIORITY_LOW">
<doc xml:space="preserve">Use this for very low priority background tasks.
It is not used within GLib or GTK+.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="PRIVATE_INIT" c:identifier="G_PRIVATE_INIT" version="2.32" introspectable="0">
g_private_set (&count_key, GINT_TO_POINTER (count));
}
]|</doc>
-
<parameters>
<parameter name="notify">
<doc xml:space="preserve">a #GDestroyNotify</doc>
<record name="PatternSpec" c:type="GPatternSpec" disguised="1">
<doc xml:space="preserve">A GPatternSpec struct is the 'compiled' form of a pattern. This
structure is opaque and its fields cannot be accessed directly.</doc>
-
<method name="equal" c:identifier="g_pattern_spec_equal">
<doc xml:space="preserve">Compares two compiled pattern specs and returns whether they will
match the same set of strings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Whether the compiled patterns are equal</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="free" c:identifier="g_pattern_spec_free">
<doc xml:space="preserve">Frees the memory allocated for the #GPatternSpec.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<function name="new" c:identifier="g_pattern_spec_new" introspectable="0">
<doc xml:space="preserve">Compiles a pattern to a #GPatternSpec.</doc>
-
<return-value>
<doc xml:space="preserve">a newly-allocated #GPatternSpec</doc>
<type name="PatternSpec" c:type="GPatternSpec*"/>
<record name="PollFD" c:type="GPollFD" glib:type-name="GPollFD" glib:get-type="g_pollfd_get_type" c:symbol-prefix="pollfd">
<doc xml:space="preserve">Represents a file descriptor, which events to poll for, and which events
occurred.</doc>
-
<field name="fd" writable="1">
<doc xml:space="preserve">the file descriptor to poll (or a HANDLE on Win32)</doc>
<type name="gint" c:type="gint"/>
<callback name="PollFunc" c:type="GPollFunc">
<doc xml:space="preserve">Specifies the type of function passed to g_main_context_set_poll_func().
The semantics of the function should match those of the poll() system call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of #GPollFD elements which have events or errors
reported, or -1 if an error occurred.</doc>
<callback name="PrintFunc" c:type="GPrintFunc">
<doc xml:space="preserve">Specifies the type of the print handler functions.
These are called with the complete formatted string to output.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The #GPrivate structure should be considered opaque. It should only
be accessed via the g_private_ functions.</doc>
-
<field name="p" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
If the value has not yet been set in this thread, %NULL is returned.
Values are never copied between threads (when a new thread is
created, for example).</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the thread-local value</doc>
<type name="gpointer" c:type="gpointer"/>
This function differs from g_private_set() in the following way: if
the previous value was non-%NULL then the #GDestroyNotify handler for
@key is run on it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function differs from g_private_replace() in the following way:
the #GDestroyNotify for @key is not called on the old value.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<record name="PtrArray" c:type="GPtrArray" glib:type-name="GPtrArray" glib:get-type="g_ptr_array_get_type" c:symbol-prefix="ptr_array">
<doc xml:space="preserve">Contains the public fields of a pointer array.</doc>
-
<field name="pdata" writable="1">
<doc xml:space="preserve">points to the array of pointers, which may be moved when the
array grows</doc>
<function name="add" c:identifier="g_ptr_array_add" introspectable="0">
<doc xml:space="preserve">Adds a pointer to the end of the pointer array. The array will grow
in size automatically if necessary.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The copy of @array will have the same #GDestroyNotify for its elements as
@array.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a deep copy of the initial #GPtrArray.</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
If @func is %NULL, then only the pointers (and not what they are
pointing to) are copied to the new #GPtrArray.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
As with g_ptr_array_free(), @array will be destroyed if its reference count
is 1. If its reference count is higher, it will be decremented and the
length of @array set to zero.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This does pointer comparisons only. If you want to use more complex equality
checks, such as string comparisons, use g_ptr_array_find_with_equal_func().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
<type name="gboolean" c:type="gboolean"/>
@equal_func is called with the element from the array as its first parameter,
and @needle as its second parameter. If @equal_func is %NULL, pointer
equality is used.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="foreach" c:identifier="g_ptr_array_foreach" version="2.4" introspectable="0">
<doc xml:space="preserve">Calls a function for each element of a #GPtrArray. @func must not
add elements to or remove elements from the array.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function is not thread-safe. If using a #GPtrArray from multiple
threads, use only the atomic g_ptr_array_ref() and g_ptr_array_unref()
functions.</doc>
-
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the pointer array if @free_seg is %FALSE, otherwise %NULL.
- The pointer array should be freed using g_free().</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">the pointer array if @free_seg is
+ %FALSE, otherwise %NULL. The pointer array should be freed using g_free().</doc>
<type name="gpointer" c:type="gpointer*"/>
</return-value>
<parameters>
<function name="insert" c:identifier="g_ptr_array_insert" version="2.40" introspectable="0">
<doc xml:space="preserve">Inserts an element into the pointer array at the given index. The
array will grow in size automatically if necessary.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="new" c:identifier="g_ptr_array_new" introspectable="0">
<doc xml:space="preserve">Creates a new #GPtrArray with a reference count of 1.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GPtrArray</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
for freeing each element when the array is destroyed either via
g_ptr_array_unref(), when g_ptr_array_free() is called with
@free_segment set to %TRUE or when removing elements.</doc>
-
<return-value>
<doc xml:space="preserve">A new #GPtrArray</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
@element_free_func for freeing each element when the array is destroyed
either via g_ptr_array_unref(), when g_ptr_array_free() is called with
@free_segment set to %TRUE or when removing elements.</doc>
-
<return-value>
<doc xml:space="preserve">A new #GPtrArray</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
<function name="ref" c:identifier="g_ptr_array_ref" version="2.22" introspectable="0">
<doc xml:space="preserve">Atomically increments the reference count of @array by one.
This function is thread-safe and may be called from any thread.</doc>
-
<return-value>
<doc xml:space="preserve">The passed in #GPtrArray</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
It returns %TRUE if the pointer was removed, or %FALSE if the
pointer was not found.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the pointer is removed, %FALSE if the pointer
is not found in the array</doc>
It returns %TRUE if the pointer was removed, or %FALSE if the
pointer was not found.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the pointer was found in the array</doc>
<type name="gboolean" c:type="gboolean"/>
a non-%NULL #GDestroyNotify function it is called for the removed
element. If so, the return value from this function will potentially point
to freed memory (depending on the #GDestroyNotify implementation).</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the pointer which was removed</doc>
<type name="gpointer" c:type="gpointer"/>
#GDestroyNotify function it is called for the removed element. If so, the
return value from this function will potentially point to freed memory
(depending on the #GDestroyNotify implementation).</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the pointer which was removed</doc>
<type name="gpointer" c:type="gpointer"/>
from a #GPtrArray. The following elements are moved to close the
gap. If @array has a non-%NULL #GDestroyNotify function it is
called for the removed elements.</doc>
-
<return-value>
<doc xml:space="preserve">the @array</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
<doc xml:space="preserve">Sets a function for freeing each element when @array is destroyed
either via g_ptr_array_unref(), when g_ptr_array_free() is called
with @free_segment set to %TRUE or when removing elements.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
newly-added elements will be set to %NULL. When making it smaller,
if @array has a non-%NULL #GDestroyNotify function then it will be
called for the removed elements.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
and a reference count of 1. This avoids frequent reallocation, if
you are going to add many pointers to the array. Note however that
the size of the array is still 0.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GPtrArray</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
]|
This is guaranteed to be a stable sort since version 2.32.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
]|
This is guaranteed to be a stable sort since version 2.32.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
// next set of chunks.
g_assert (chunk_buffer->len == 0);
]|</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the element data, which should be
freed using g_free().</doc>
The following elements are moved down one place. The #GDestroyNotify for
@array is *not* called on the removed element; ownership is transferred to
the caller of this function.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the pointer which was removed</doc>
<type name="gpointer" c:type="gpointer"/>
is faster than g_ptr_array_steal_index(). The #GDestroyNotify for @array is
*not* called on the removed element; ownership is transferred to the caller
of this function.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the pointer which was removed</doc>
<type name="gpointer" c:type="gpointer"/>
reference count drops to 0, the effect is the same as calling
g_ptr_array_free() with @free_segment set to %TRUE. This function
is thread-safe and may be called from any thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="Queue" c:type="GQueue">
<doc xml:space="preserve">Contains the public fields of a
[Queue][glib-Double-ended-Queues].</doc>
-
<field name="head" writable="1">
<doc xml:space="preserve">a pointer to the first element of the queue</doc>
<type name="GLib.List" c:type="GList*">
<method name="clear" c:identifier="g_queue_clear" version="2.14">
<doc xml:space="preserve">Removes all the elements in @queue. If queue elements contain
dynamically-allocated memory, they should be freed first.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="clear_full" c:identifier="g_queue_clear_full" version="2.60">
<doc xml:space="preserve">Convenience method, which frees all the memory used by a #GQueue,
and calls the provided @free_func on each item in the #GQueue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Copies a @queue. Note that is a shallow copy. If the elements in the
queue consist of pointers to data, the pointers are copied, but the
actual data is not.</doc>
-
<return-value>
<doc xml:space="preserve">a copy of @queue</doc>
<type name="Queue" c:type="GQueue*"/>
<doc xml:space="preserve">Removes @link_ from @queue and frees it.
@link_ must be part of @queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="find" c:identifier="g_queue_find" version="2.4" introspectable="0">
<doc xml:space="preserve">Finds the first link in @queue which contains @data.</doc>
-
<return-value>
<doc xml:space="preserve">the first link in @queue which contains @data</doc>
<type name="GLib.List" c:type="GList*">
which should return 0 when the desired element is found. The function
takes two gconstpointer arguments, the #GQueue element's data as the
first argument and the given user data as the second argument.</doc>
-
<return-value>
<doc xml:space="preserve">the found link, or %NULL if it wasn't found</doc>
<type name="GLib.List" c:type="GList*">
It is safe for @func to remove the element from @queue, but it must
not modify any part of the queue after that element.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If queue elements contain dynamically-allocated memory, you should
either use g_queue_free_full() or free them manually first.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@free_func should not modify the queue (eg, by removing the freed
element from it).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_length" c:identifier="g_queue_get_length" version="2.4">
<doc xml:space="preserve">Returns the number of items in @queue.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items in @queue</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="index" c:identifier="g_queue_index" version="2.4">
<doc xml:space="preserve">Returns the position of the first element in @queue which contains @data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the position of the first element in @queue which
contains @data, or -1 if no element in @queue contains @data</doc>
before it can be used. Alternatively you can initialize it with
#G_QUEUE_INIT. It is not necessary to initialize queues created with
g_queue_new().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@sibling must be part of @queue. Since GLib 2.44 a %NULL sibling pushes the
data at the head of the queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Inserts @link_ into @queue after @sibling.
@sibling must be part of @queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@sibling must be part of @queue. Since GLib 2.44 a %NULL sibling pushes the
data at the tail of the queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Inserts @link_ into @queue before @sibling.
@sibling must be part of @queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="insert_sorted" c:identifier="g_queue_insert_sorted" version="2.4" introspectable="0">
<doc xml:space="preserve">Inserts @data into @queue using @func to determine the new position.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="is_empty" c:identifier="g_queue_is_empty">
<doc xml:space="preserve">Returns %TRUE if the queue is empty.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the queue is empty</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="link_index" c:identifier="g_queue_link_index" version="2.4" introspectable="0">
<doc xml:space="preserve">Returns the position of @link_ in @queue.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the position of @link_, or -1 if the link is
not part of @queue</doc>
</method>
<method name="peek_head" c:identifier="g_queue_peek_head">
<doc xml:space="preserve">Returns the first element of the queue.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data of the first element in the queue, or %NULL
if the queue is empty</doc>
</method>
<method name="peek_head_link" c:identifier="g_queue_peek_head_link" version="2.4" introspectable="0">
<doc xml:space="preserve">Returns the first link in @queue.</doc>
-
<return-value>
<doc xml:space="preserve">the first link in @queue, or %NULL if @queue is empty</doc>
<type name="GLib.List" c:type="GList*">
</method>
<method name="peek_nth" c:identifier="g_queue_peek_nth" version="2.4">
<doc xml:space="preserve">Returns the @n'th element of @queue.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data for the @n'th element of @queue,
or %NULL if @n is off the end of @queue</doc>
</method>
<method name="peek_nth_link" c:identifier="g_queue_peek_nth_link" version="2.4" introspectable="0">
<doc xml:space="preserve">Returns the link at the given position</doc>
-
<return-value>
<doc xml:space="preserve">the link at the @n'th position, or %NULL
if @n is off the end of the list</doc>
</method>
<method name="peek_tail" c:identifier="g_queue_peek_tail">
<doc xml:space="preserve">Returns the last element of the queue.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data of the last element in the queue, or %NULL
if the queue is empty</doc>
</method>
<method name="peek_tail_link" c:identifier="g_queue_peek_tail_link" version="2.4" introspectable="0">
<doc xml:space="preserve">Returns the last link in @queue.</doc>
-
<return-value>
<doc xml:space="preserve">the last link in @queue, or %NULL if @queue is empty</doc>
<type name="GLib.List" c:type="GList*">
</method>
<method name="pop_head" c:identifier="g_queue_pop_head">
<doc xml:space="preserve">Removes the first element of the queue and returns its data.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data of the first element in the queue, or %NULL
if the queue is empty</doc>
</method>
<method name="pop_head_link" c:identifier="g_queue_pop_head_link" introspectable="0">
<doc xml:space="preserve">Removes and returns the first element of the queue.</doc>
-
<return-value>
<doc xml:space="preserve">the #GList element at the head of the queue, or %NULL
if the queue is empty</doc>
</method>
<method name="pop_nth" c:identifier="g_queue_pop_nth" version="2.4">
<doc xml:space="preserve">Removes the @n'th element of @queue and returns its data.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the element's data, or %NULL if @n is off the end of @queue</doc>
<type name="gpointer" c:type="gpointer"/>
</method>
<method name="pop_nth_link" c:identifier="g_queue_pop_nth_link" version="2.4" introspectable="0">
<doc xml:space="preserve">Removes and returns the link at the given position.</doc>
-
<return-value>
<doc xml:space="preserve">the @n'th link, or %NULL if @n is off the end of @queue</doc>
<type name="GLib.List" c:type="GList*">
</method>
<method name="pop_tail" c:identifier="g_queue_pop_tail">
<doc xml:space="preserve">Removes the last element of the queue and returns its data.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data of the last element in the queue, or %NULL
if the queue is empty</doc>
</method>
<method name="pop_tail_link" c:identifier="g_queue_pop_tail_link" introspectable="0">
<doc xml:space="preserve">Removes and returns the last element of the queue.</doc>
-
<return-value>
<doc xml:space="preserve">the #GList element at the tail of the queue, or %NULL
if the queue is empty</doc>
</method>
<method name="push_head" c:identifier="g_queue_push_head">
<doc xml:space="preserve">Adds a new element at the head of the queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="push_head_link" c:identifier="g_queue_push_head_link" introspectable="0">
<doc xml:space="preserve">Adds a new element at the head of the queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="push_nth" c:identifier="g_queue_push_nth" version="2.4">
<doc xml:space="preserve">Inserts a new element into @queue at the given position.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="push_nth_link" c:identifier="g_queue_push_nth_link" version="2.4" introspectable="0">
<doc xml:space="preserve">Inserts @link into @queue at the given position.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="push_tail" c:identifier="g_queue_push_tail">
<doc xml:space="preserve">Adds a new element at the tail of the queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="push_tail_link" c:identifier="g_queue_push_tail_link" introspectable="0">
<doc xml:space="preserve">Adds a new element at the tail of the queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="remove" c:identifier="g_queue_remove" version="2.4">
<doc xml:space="preserve">Removes the first element in @queue that contains @data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was found and removed from @queue</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="remove_all" c:identifier="g_queue_remove_all" version="2.4">
<doc xml:space="preserve">Remove all elements whose data equals @data from @queue.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of elements removed from @queue</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="reverse" c:identifier="g_queue_reverse" version="2.4">
<doc xml:space="preserve">Reverses the order of the items in @queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="sort" c:identifier="g_queue_sort" version="2.4" introspectable="0">
<doc xml:space="preserve">Sorts @queue using @compare_func.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The link is not freed.
@link_ must be part of @queue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<function name="new" c:identifier="g_queue_new" introspectable="0">
<doc xml:space="preserve">Creates a new #GQueue.</doc>
-
<return-value>
<doc xml:space="preserve">a newly allocated #GQueue</doc>
<type name="Queue" c:type="GQueue*"/>
g_rw_lock_init() on it and g_rw_lock_clear() when done.
A GRWLock should only be accessed with the g_rw_lock_ functions.</doc>
-
<field name="p" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
leads to undefined behaviour.
Sine: 2.32</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Calling g_rw_lock_init() on an already initialized #GRWLock leads
to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="reader_lock" c:identifier="g_rw_lock_reader_lock" version="2.32">
<doc xml:space="preserve">Obtain a read lock on @rw_lock. If another thread currently holds
-the write lock on @rw_lock, the current thread will block. If another thread
-does not hold the write lock, but is waiting for it, it is implementation
-defined whether the reader or writer will block. Read locks can be taken
+the write lock on @rw_lock, the current thread will block until the
+write lock was (held and) released. If another thread does not hold
+the write lock, but is waiting for it, it is implementation defined
+whether the reader or writer will block. Read locks can be taken
recursively.
-It is implementation-defined how many threads are allowed to
-hold read locks on the same lock simultaneously. If the limit is hit,
+Calling g_rw_lock_reader_lock() while the current thread already
+owns a write lock leads to undefined behaviour. Read locks however
+can be taken recursively, in which case you need to make sure to
+call g_rw_lock_reader_unlock() the same amount of times.
+
+It is implementation-defined how many read locks are allowed to be
+held on the same lock simultaneously. If the limit is hit,
or if a deadlock is detected, a critical warning will be emitted.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Tries to obtain a read lock on @rw_lock and returns %TRUE if
the read lock was successfully obtained. Otherwise it
returns %FALSE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @rw_lock could be locked</doc>
<type name="gboolean" c:type="gboolean"/>
Calling g_rw_lock_reader_unlock() on a lock that is not held
by the current thread leads to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="writer_lock" c:identifier="g_rw_lock_writer_lock" version="2.32">
- <doc xml:space="preserve">Obtain a write lock on @rw_lock. If any thread already holds
+ <doc xml:space="preserve">Obtain a write lock on @rw_lock. If another thread currently holds
a read or write lock on @rw_lock, the current thread will block
-until all other threads have dropped their locks on @rw_lock.</doc>
-
+until all other threads have dropped their locks on @rw_lock.
+
+Calling g_rw_lock_writer_lock() while the current thread already
+owns a read or write lock on @rw_lock leads to undefined behaviour.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="writer_trylock" c:identifier="g_rw_lock_writer_trylock" version="2.32">
- <doc xml:space="preserve">Tries to obtain a write lock on @rw_lock. If any other thread holds
-a read or write lock on @rw_lock, it immediately returns %FALSE.
+ <doc xml:space="preserve">Tries to obtain a write lock on @rw_lock. If another thread
+currently holds a read or write lock on @rw_lock, it immediately
+returns %FALSE.
Otherwise it locks @rw_lock and returns %TRUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @rw_lock could be locked</doc>
<type name="gboolean" c:type="gboolean"/>
Calling g_rw_lock_writer_unlock() on a lock that is not held
by the current thread leads to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="Rand" c:type="GRand" disguised="1">
<doc xml:space="preserve">The GRand struct is an opaque data structure. It should only be
accessed through the g_rand_* functions.</doc>
-
<method name="copy" c:identifier="g_rand_copy" version="2.4" introspectable="0">
<doc xml:space="preserve">Copies a #GRand into a new one with the same exact state as before.
This way you can take a snapshot of the random number generator for
replaying later.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GRand</doc>
<type name="Rand" c:type="GRand*"/>
<method name="double" c:identifier="g_rand_double">
<doc xml:space="preserve">Returns the next random #gdouble from @rand_ equally distributed over
the range [0..1).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="gdouble" c:type="gdouble"/>
<method name="double_range" c:identifier="g_rand_double_range">
<doc xml:space="preserve">Returns the next random #gdouble from @rand_ equally distributed over
the range [@begin..@end).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="gdouble" c:type="gdouble"/>
</method>
<method name="free" c:identifier="g_rand_free">
<doc xml:space="preserve">Frees the memory allocated for the #GRand.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="int" c:identifier="g_rand_int">
<doc xml:space="preserve">Returns the next random #guint32 from @rand_ equally distributed over
the range [0..2^32-1].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="guint32" c:type="guint32"/>
<method name="int_range" c:identifier="g_rand_int_range">
<doc xml:space="preserve">Returns the next random #gint32 from @rand_ equally distributed over
the range [@begin..@end-1].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="gint32" c:type="gint32"/>
</method>
<method name="set_seed" c:identifier="g_rand_set_seed">
<doc xml:space="preserve">Sets the seed for the random number generator #GRand to @seed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
are taken. This function is useful if you have many low entropy
seeds, or if you require more then 32 bits of actual entropy for
your application.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
(as a fallback).
On Windows, the seed is taken from rand_s().</doc>
-
<return-value>
<doc xml:space="preserve">the new #GRand</doc>
<type name="Rand" c:type="GRand*"/>
</function>
<function name="new_with_seed" c:identifier="g_rand_new_with_seed" introspectable="0">
<doc xml:space="preserve">Creates a new random number generator initialized with @seed.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GRand</doc>
<type name="Rand" c:type="GRand*"/>
</function>
<function name="new_with_seed_array" c:identifier="g_rand_new_with_seed_array" version="2.4" introspectable="0">
<doc xml:space="preserve">Creates a new random number generator initialized with @seed.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GRand</doc>
<type name="Rand" c:type="GRand*"/>
A GRecMutex should only be accessed with the
g_rec_mutex_ functions.</doc>
-
<field name="p" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
to undefined behaviour.
Sine: 2.32</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
To undo the effect of g_rec_mutex_init() when a recursive mutex
is no longer needed, use g_rec_mutex_clear().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
by the current thread, the 'lock count' of @rec_mutex is increased.
The mutex will only become available again when it is unlocked
as many times as it has been locked.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Tries to lock @rec_mutex. If @rec_mutex is already locked
by another thread, it immediately returns %FALSE. Otherwise
it locks @rec_mutex and returns %TRUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @rec_mutex could be locked</doc>
<type name="gboolean" c:type="gboolean"/>
Calling g_rec_mutex_unlock() on a recursive mutex that is not
locked by the current thread leads to undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the excellent
[PCRE](http://www.pcre.org/)
library written by Philip Hazel.</doc>
-
<constructor name="new" c:identifier="g_regex_new" version="2.14" throws="1">
<doc xml:space="preserve">Compiles the regular expression to an internal form, and does
the initial setup of the #GRegex structure.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GRegex structure or %NULL if an error occurred. Call
g_regex_unref() when you are done with it</doc>
</constructor>
<method name="get_capture_count" c:identifier="g_regex_get_capture_count" version="2.14">
<doc xml:space="preserve">Returns the number of capturing subpatterns in the pattern.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of capturing subpatterns</doc>
<type name="gint" c:type="gint"/>
Depending on the version of PCRE that is used, this may or may not
include flags set by option expressions such as `(?i)` found at the
top-level within the compiled pattern.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">flags from #GRegexCompileFlags</doc>
<type name="RegexCompileFlags" c:type="GRegexCompileFlags"/>
</method>
<method name="get_has_cr_or_lf" c:identifier="g_regex_get_has_cr_or_lf" version="2.34">
<doc xml:space="preserve">Checks whether the pattern contains explicit CR or LF references.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the pattern contains explicit CR or LF references</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_match_flags" c:identifier="g_regex_get_match_flags" version="2.26">
<doc xml:space="preserve">Returns the match options that @regex was created with.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">flags from #GRegexMatchFlags</doc>
<type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
<doc xml:space="preserve">Returns the number of the highest back reference
in the pattern, or 0 if the pattern does not contain
back references.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of the highest back reference</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">Gets the number of characters in the longest lookbehind assertion in the
pattern. This information is useful when doing multi-segment matching using
the partial matching facilities.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of characters in the longest lookbehind assertion.</doc>
<type name="gint" c:type="gint"/>
<method name="get_pattern" c:identifier="g_regex_get_pattern" version="2.14">
<doc xml:space="preserve">Gets the pattern string associated with @regex, i.e. a copy of
the string passed to g_regex_new().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the pattern of @regex</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_string_number" c:identifier="g_regex_get_string_number" version="2.14">
<doc xml:space="preserve">Retrieves the number of the subexpression named @name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The number of the subexpression or -1 if @name
does not exists</doc>
@string is not copied and is used in #GMatchInfo internally. If
you use any #GMatchInfo method (except g_match_info_free()) after
freeing or modifying @string then the behaviour is undefined.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE is the string matched, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
@string is not copied and is used in #GMatchInfo internally. If
you use any #GMatchInfo method (except g_match_info_free()) after
freeing or modifying @string then the behaviour is undefined.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE is the string matched, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
@string is not copied and is used in #GMatchInfo internally. If
you use any #GMatchInfo method (except g_match_info_free()) after
freeing or modifying @string then the behaviour is undefined.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE is the string matched, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
}
}
]|</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE is the string matched, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="ref" c:identifier="g_regex_ref" version="2.14">
<doc xml:space="preserve">Increases reference count of @regex by 1.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@regex</doc>
<type name="Regex" c:type="GRegex*"/>
Setting @start_position differs from just passing over a shortened
string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern that
begins with any kind of lookbehind assertion, such as "\b".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string containing the replacements</doc>
<type name="utf8" c:type="gchar*"/>
...
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string containing the replacements</doc>
<type name="utf8" c:type="gchar*"/>
shortened string and setting #G_REGEX_MATCH_NOTBOL in the
case of a pattern that begins with any kind of lookbehind
assertion, such as "\b".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string containing the replacements</doc>
<type name="utf8" c:type="gchar*"/>
characters wherever it matches the empty string between characters.
For example splitting "ab c" using as a separator "\s*", you will get
"a", "b" and "c".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated gchar ** array. Free
it using g_strfreev()</doc>
Setting @start_position differs from just passing over a shortened
string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern
that begins with any kind of lookbehind assertion, such as "\b".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated gchar ** array. Free
it using g_strfreev()</doc>
<method name="unref" c:identifier="g_regex_unref" version="2.14">
<doc xml:space="preserve">Decreases reference count of @regex by 1. When reference count drops
to zero, it frees all the memory associated with the regex structure.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
does not contain references and may be evaluated without information
about actual match, but '\0\1' (whole match followed by first
subpattern) requires valid #GMatchInfo object.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @replacement is a valid replacement string</doc>
<type name="gboolean" c:type="gboolean"/>
For completeness, @length can be -1 for a nul-terminated string.
In this case the output string will be of course equal to @string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated escaped string</doc>
<type name="utf8" c:type="gchar*"/>
@string can contain nul characters that are replaced with "\0",
in this case remember to specify the correct length of @string
in @length.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated escaped string</doc>
<type name="utf8" c:type="gchar*"/>
If this function is to be called on the same @pattern more than
once, it's more efficient to compile the pattern once with
g_regex_new() and then use g_regex_match().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the string matched, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
separate characters wherever it matches the empty string between
characters. For example splitting "ab c" using as a separator
"\s*", you will get "a", "b" and "c".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of strings. Free
it using g_strfreev()</doc>
</record>
<bitfield name="RegexCompileFlags" version="2.14" c:type="GRegexCompileFlags">
<doc xml:space="preserve">Flags specifying compile-time options.</doc>
-
<member name="caseless" value="1" c:identifier="G_REGEX_CASELESS">
<doc xml:space="preserve">Letters in the pattern match both upper- and
lowercase letters. This option can be changed within a pattern
</bitfield>
<enumeration name="RegexError" version="2.14" c:type="GRegexError" glib:error-domain="g-regex-error-quark">
<doc xml:space="preserve">Error codes returned by regular expressions functions.</doc>
-
<member name="compile" value="0" c:identifier="G_REGEX_ERROR_COMPILE">
<doc xml:space="preserve">Compilation of the regular expression failed.</doc>
</member>
It is called for each occurrence of the pattern in the string passed
to g_regex_replace_eval(), and it should append the replacement to
@result.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE to continue the replacement process, %TRUE to stop it</doc>
<type name="gboolean" c:type="gboolean"/>
</callback>
<bitfield name="RegexMatchFlags" version="2.14" c:type="GRegexMatchFlags">
<doc xml:space="preserve">Flags specifying match-time options.</doc>
-
<member name="anchored" value="16" c:identifier="G_REGEX_MATCH_ANCHORED">
<doc xml:space="preserve">The pattern is forced to be "anchored", that is,
it is constrained to match only at the first matching point in the
<constant name="SEARCHPATH_SEPARATOR" value="58" c:type="G_SEARCHPATH_SEPARATOR">
<doc xml:space="preserve">The search path separator character.
This is ':' on UNIX machines and ';' under Windows.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SEARCHPATH_SEPARATOR_S" value=":" c:type="G_SEARCHPATH_SEPARATOR_S">
<doc xml:space="preserve">The search path separator as a string.
This is ":" on UNIX machines and ";" under Windows.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="SIZEOF_LONG" value="8" c:type="GLIB_SIZEOF_LONG">
-
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="SIZEOF_MEMBER" c:identifier="G_SIZEOF_MEMBER" version="2.64" introspectable="0">
<doc xml:space="preserve">Returns the size of @member in the struct definition without having a
declared instance of @struct_type.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">a structure type, e.g. #GOutputVector</doc>
</parameters>
</function-macro>
<constant name="SIZEOF_SIZE_T" value="8" c:type="GLIB_SIZEOF_SIZE_T">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SIZEOF_SSIZE_T" value="8" c:type="GLIB_SIZEOF_SSIZE_T">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SIZEOF_VOID_P" value="8" c:type="GLIB_SIZEOF_VOID_P">
-
<type name="gint" c:type="gint"/>
</constant>
<record name="SList" c:type="GSList">
<doc xml:space="preserve">The #GSList struct is used for each element in the singly-linked
list.</doc>
-
<field name="data" writable="1">
<doc xml:space="preserve">holds the element's data, which can be a pointer to any kind
of data, or any integer value using the
<doc xml:space="preserve">Allocates space for one #GSList element. It is called by the
g_slist_append(), g_slist_prepend(), g_slist_insert() and
g_slist_insert_sorted() functions and so is rarely used on its own.</doc>
-
<return-value>
<doc xml:space="preserve">a pointer to the newly-allocated #GSList element.</doc>
<type name="GLib.SList" c:type="GSList*">
number_list = g_slist_append (number_list, GINT_TO_POINTER (27));
number_list = g_slist_append (number_list, GINT_TO_POINTER (14));
]|</doc>
-
<return-value>
<doc xml:space="preserve">the new start of the #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<doc xml:space="preserve">Adds the second #GSList onto the end of the first #GSList.
Note that the elements of the second #GSList are not copied.
They are used directly.</doc>
-
<return-value>
<doc xml:space="preserve">the start of the new #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
consist of pointers to data, the pointers are copied but
the actual data isn't. See g_slist_copy_deep() if you need
to copy the data as well.</doc>
-
<return-value>
<doc xml:space="preserve">a copy of @list</doc>
<type name="GLib.SList" c:type="GSList*">
|[<!-- language="C" -->
g_slist_free_full (another_list, g_object_unref);
]|</doc>
-
<return-value>
<doc xml:space="preserve">a full copy of @list, use g_slist_free_full() to free it</doc>
<type name="GLib.SList" c:type="GSList*">
find yourself using g_slist_delete_link() frequently, you should
consider a different data structure, such as the doubly-linked
#GList.</doc>
-
<return-value>
<doc xml:space="preserve">the new head of @list</doc>
<type name="GLib.SList" c:type="GSList*">
<function name="find" c:identifier="g_slist_find" introspectable="0">
<doc xml:space="preserve">Finds the element in a #GSList which
contains the given data.</doc>
-
<return-value>
<doc xml:space="preserve">the found #GSList element,
or %NULL if it is not found</doc>
element is found. The function takes two #gconstpointer arguments,
the #GSList element's data as the first argument and the
given user data.</doc>
-
<return-value>
<doc xml:space="preserve">the found #GSList element, or %NULL if it is not found</doc>
<type name="GLib.SList" c:type="GSList*">
It is safe for @func to remove the element from @list, but it must
not modify any part of the list after that element.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
GSList *list_of_borrowed_things = …; /<!-- -->* (transfer container) *<!-- -->/
g_slist_free (g_steal_pointer (&list_of_borrowed_things));
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #GSList</doc>
+ <doc xml:space="preserve">the first link of a #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="gpointer" c:type="gpointer"/>
</type>
<function name="free_1" c:identifier="g_slist_free_1" introspectable="0">
<doc xml:space="preserve">Frees one #GSList element.
It is usually used after g_slist_remove_link().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
GSList *list_of_owned_things = …; /<!-- -->* (transfer full) (element-type GObject) *<!-- -->/
g_slist_free_full (g_steal_pointer (&list_of_owned_things), g_object_unref);
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a pointer to a #GSList</doc>
+ <doc xml:space="preserve">the first link of a #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="gpointer" c:type="gpointer"/>
</type>
<function name="index" c:identifier="g_slist_index" introspectable="0">
<doc xml:space="preserve">Gets the position of the element containing
the given data (starting from 0).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the index of the element containing the data,
or -1 if the data is not found</doc>
</function>
<function name="insert" c:identifier="g_slist_insert" introspectable="0">
<doc xml:space="preserve">Inserts a new element into the list at the given position.</doc>
-
<return-value>
<doc xml:space="preserve">the new start of the #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
</function>
<function name="insert_before" c:identifier="g_slist_insert_before" introspectable="0">
<doc xml:space="preserve">Inserts a node before @sibling containing @data.</doc>
-
<return-value>
<doc xml:space="preserve">the new head of the list.</doc>
<type name="GLib.SList" c:type="GSList*">
<function name="insert_sorted" c:identifier="g_slist_insert_sorted" introspectable="0">
<doc xml:space="preserve">Inserts a new element into the list, using the given
comparison function to determine its position.</doc>
-
<return-value>
<doc xml:space="preserve">the new start of the #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<function name="insert_sorted_with_data" c:identifier="g_slist_insert_sorted_with_data" version="2.10" introspectable="0">
<doc xml:space="preserve">Inserts a new element into the list, using the given
comparison function to determine its position.</doc>
-
<return-value>
<doc xml:space="preserve">the new start of the #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<doc xml:space="preserve">Gets the last element in a #GSList.
This function iterates over the whole list.</doc>
-
<return-value>
<doc xml:space="preserve">the last element in the #GSList,
or %NULL if the #GSList has no elements</doc>
This function iterates over the whole list to
count its elements. To check whether the list is non-empty, it is faster to
check @list against %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of elements in the #GSList</doc>
<type name="guint" c:type="guint"/>
</function>
<function name="nth" c:identifier="g_slist_nth" introspectable="0">
<doc xml:space="preserve">Gets the element at the given position in a #GSList.</doc>
-
<return-value>
<doc xml:space="preserve">the element, or %NULL if the position is off
the end of the #GSList</doc>
</function>
<function name="nth_data" c:identifier="g_slist_nth_data" introspectable="0">
<doc xml:space="preserve">Gets the data of the element at the given position.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the element's data, or %NULL if the position
is off the end of the #GSList</doc>
<function name="position" c:identifier="g_slist_position" introspectable="0">
<doc xml:space="preserve">Gets the position of the given element
in the #GSList (starting from 0).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the position of the element in the #GSList,
or -1 if the element is not found</doc>
list = g_slist_prepend (list, "last");
list = g_slist_prepend (list, "first");
]|</doc>
-
<return-value>
<doc xml:space="preserve">the new start of the #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<doc xml:space="preserve">Removes an element from a #GSList.
If two elements contain the same data, only the first is removed.
If none of the elements contain the data, the #GSList is unchanged.</doc>
-
<return-value>
<doc xml:space="preserve">the new start of the #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
Returns the new head of the list. Contrast with
g_slist_remove() which removes only the first node
matching the given data.</doc>
-
<return-value>
<doc xml:space="preserve">new head of @list</doc>
<type name="GLib.SList" c:type="GSList*">
(ie. O(n)). If you find yourself using g_slist_remove_link()
frequently, you should consider a different data structure,
such as the doubly-linked #GList.</doc>
-
<return-value>
<doc xml:space="preserve">the new start of the #GSList, without the element</doc>
<type name="GLib.SList" c:type="GSList*">
</function>
<function name="reverse" c:identifier="g_slist_reverse" introspectable="0">
<doc xml:space="preserve">Reverses a #GSList.</doc>
-
<return-value>
<doc xml:space="preserve">the start of the reversed #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
<function name="sort" c:identifier="g_slist_sort" introspectable="0">
<doc xml:space="preserve">Sorts a #GSList using the given comparison function. The algorithm
used is a stable sort.</doc>
-
<return-value>
<doc xml:space="preserve">the start of the sorted #GSList</doc>
<type name="GLib.SList" c:type="GSList*">
</function>
<function name="sort_with_data" c:identifier="g_slist_sort_with_data" introspectable="0">
<doc xml:space="preserve">Like g_slist_sort(), but the sort function accepts a user data argument.</doc>
-
<return-value>
<doc xml:space="preserve">new head of the list</doc>
<type name="GLib.SList" c:type="GSList*">
<constant name="SOURCE_CONTINUE" value="true" c:type="G_SOURCE_CONTINUE" version="2.32">
<doc xml:space="preserve">Use this macro as the return value of a #GSourceFunc to leave
the #GSource in the main loop.</doc>
-
<type name="gboolean" c:type="gboolean"/>
</constant>
<function-macro name="SOURCE_FUNC" c:identifier="G_SOURCE_FUNC" version="2.58" introspectable="0">
than #GSourceFunc. Casting the function with `(GSourceFunc)` to call
g_source_set_callback() will trigger a warning, even though it will be cast
back to the correct type before it is called by the source.</doc>
-
<parameters>
<parameter name="f">
<doc xml:space="preserve">a function pointer.</doc>
<constant name="SOURCE_REMOVE" value="false" c:type="G_SOURCE_REMOVE" version="2.32">
<doc xml:space="preserve">Use this macro as the return value of a #GSourceFunc to remove
the #GSource from the main loop.</doc>
-
<type name="gboolean" c:type="gboolean"/>
</constant>
<constant name="SQRT2" value="1.414214" c:type="G_SQRT2">
<doc xml:space="preserve">The square root of two.</doc>
-
<type name="gdouble" c:type="gdouble"/>
</constant>
<function-macro name="STRINGIFY" c:identifier="G_STRINGIFY" introspectable="0">
|[<!-- language="C" -->
const gchar *greeting = "27 today!";
]|</doc>
-
<parameters>
<parameter name="macro_or_string">
<doc xml:space="preserve">a macro or a string</doc>
</parameters>
</function-macro>
<function-macro name="STRINGIFY_ARG" c:identifier="G_STRINGIFY_ARG" introspectable="0">
-
<parameters>
<parameter name="contents">
</parameter>
</function-macro>
<function-macro name="STRUCT_MEMBER" c:identifier="G_STRUCT_MEMBER" introspectable="0">
<doc xml:space="preserve">Returns a member of a structure at a given offset, using the given type.</doc>
-
<parameters>
<parameter name="member_type">
<doc xml:space="preserve">the type of the struct field</doc>
</function-macro>
<function-macro name="STRUCT_MEMBER_P" c:identifier="G_STRUCT_MEMBER_P" introspectable="0">
<doc xml:space="preserve">Returns an untyped pointer to a given offset of a struct.</doc>
-
<parameters>
<parameter name="struct_p">
<doc xml:space="preserve">a pointer to a struct</doc>
</function-macro>
<function-macro name="STRUCT_OFFSET" c:identifier="G_STRUCT_OFFSET" introspectable="0">
<doc xml:space="preserve">Returns the offset, in bytes, of a member of a struct.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">a structure type, e.g. #GtkWidget</doc>
</function-macro>
<constant name="STR_DELIMITERS" value="_-|> <." c:type="G_STR_DELIMITERS">
<doc xml:space="preserve">The standard delimiters, used in g_strdelimit().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="SYSDEF_AF_INET" value="2" c:type="GLIB_SYSDEF_AF_INET">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SYSDEF_AF_INET6" value="10" c:type="GLIB_SYSDEF_AF_INET6">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SYSDEF_AF_UNIX" value="1" c:type="GLIB_SYSDEF_AF_UNIX">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SYSDEF_MSG_DONTROUTE" value="4" c:type="GLIB_SYSDEF_MSG_DONTROUTE">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SYSDEF_MSG_OOB" value="1" c:type="GLIB_SYSDEF_MSG_OOB">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="SYSDEF_MSG_PEEK" value="2" c:type="GLIB_SYSDEF_MSG_PEEK">
-
<type name="gint" c:type="gint"/>
</constant>
<record name="Scanner" c:type="GScanner">
If you want to use your own message handler you can set the
@msg_handler field. The type of the message handler function
is declared by #GScannerMsgFunc.</doc>
-
<field name="user_data" writable="1">
<doc xml:space="preserve">unused</doc>
<type name="gpointer" c:type="gpointer"/>
<doc xml:space="preserve">Returns the current line in the input stream (counting
from 1). This is the line of the last token parsed via
g_scanner_get_next_token().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current line</doc>
<type name="guint" c:type="guint"/>
<doc xml:space="preserve">Returns the current position in the current line (counting
from 0). This is the position of the last token parsed via
g_scanner_get_next_token().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current position on the line</doc>
<type name="guint" c:type="guint"/>
<method name="cur_token" c:identifier="g_scanner_cur_token">
<doc xml:space="preserve">Gets the current token type. This is simply the @token
field in the #GScanner structure.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current token type</doc>
<type name="TokenType" c:type="GTokenType"/>
<method name="cur_value" c:identifier="g_scanner_cur_value" introspectable="0">
<doc xml:space="preserve">Gets the current token value. This is simply the @value
field in the #GScanner structure.</doc>
-
<return-value>
<doc xml:space="preserve">the current token value</doc>
<type name="TokenValue" c:type="GTokenValue"/>
</method>
<method name="destroy" c:identifier="g_scanner_destroy">
<doc xml:space="preserve">Frees all memory used by the #GScanner.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="eof" c:identifier="g_scanner_eof">
<doc xml:space="preserve">Returns %TRUE if the scanner has reached the end of
the file or text buffer.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the scanner has reached the end of
the file or text buffer</doc>
</method>
<method name="error" c:identifier="g_scanner_error" introspectable="0">
<doc xml:space="preserve">Outputs an error message, via the #GScanner message handler.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
and also removes it from the input stream. The token data is
placed in the @token, @value, @line, and @position fields of
the #GScanner structure.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the type of the token</doc>
<type name="TokenType" c:type="GTokenType"/>
</method>
<method name="input_file" c:identifier="g_scanner_input_file">
<doc xml:space="preserve">Prepares to scan a file.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="input_text" c:identifier="g_scanner_input_text">
<doc xml:space="preserve">Prepares to scan a text buffer.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Looks up a symbol in the current scope and return its value.
If the symbol is not bound in the current scope, %NULL is
returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the value of @symbol in the current scope, or %NULL
if @symbol is not bound in the current scope</doc>
the next token. Getting the next token after switching the scope or
configuration will return whatever was peeked before, regardless of
any symbols that may have been added or removed in the new scope.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the type of the token</doc>
<type name="TokenType" c:type="GTokenType"/>
</method>
<method name="scope_add_symbol" c:identifier="g_scanner_scope_add_symbol">
<doc xml:space="preserve">Adds a symbol to the given scope.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
in the given scope of the #GScanner. The function is passed
the symbol and value of each pair, and the given @user_data
parameter.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="scope_lookup_symbol" c:identifier="g_scanner_scope_lookup_symbol">
<doc xml:space="preserve">Looks up a symbol in a scope and return its value. If the
symbol is not bound in the scope, %NULL is returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the value of @symbol in the given scope, or %NULL
if @symbol is not bound in the given scope.</doc>
</method>
<method name="scope_remove_symbol" c:identifier="g_scanner_scope_remove_symbol">
<doc xml:space="preserve">Removes a symbol from a scope.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_scope" c:identifier="g_scanner_set_scope">
<doc xml:space="preserve">Sets the current scope.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the old scope id</doc>
<type name="guint" c:type="guint"/>
and blows the file read ahead buffer. This is useful for
third party uses of the scanners filedescriptor, which hooks
onto the current scanning position.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
call to g_scanner_get_next_token(), as g_scanner_unexp_token()
evaluates the scanner's current token (not the peeked token)
to construct part of the message.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="warn" c:identifier="g_scanner_warn" introspectable="0">
<doc xml:space="preserve">Outputs a warning message, via the #GScanner message handler.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
of the scanner, which are copied into the #GScanner
@config field. If you pass %NULL then the default settings
are used.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GScanner</doc>
<type name="Scanner" c:type="GScanner*"/>
<doc xml:space="preserve">Specifies the #GScanner parser configuration. Most settings can
be changed during the parsing phase and will affect the lexical
parsing of the next unpeeked token.</doc>
-
<field name="cset_skip_characters" writable="1">
<doc xml:space="preserve">specifies which characters should be skipped
by the scanner (the default is the whitespace characters: space,
</record>
<callback name="ScannerMsgFunc" c:type="GScannerMsgFunc">
<doc xml:space="preserve">Specifies the type of the message handler function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<enumeration name="SeekType" c:type="GSeekType">
<doc xml:space="preserve">An enumeration specifying the base position for a
g_io_channel_seek_position() operation.</doc>
-
<member name="cur" value="0" c:identifier="G_SEEK_CUR">
<doc xml:space="preserve">the current position in the file.</doc>
</member>
<record name="Sequence" c:type="GSequence" disguised="1">
<doc xml:space="preserve">The #GSequence struct is an opaque data type representing a
[sequence][glib-Sequences] data type.</doc>
-
<method name="append" c:identifier="g_sequence_append" version="2.14">
<doc xml:space="preserve">Adds a new item to the end of @seq.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an iterator pointing to the new item</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
<method name="foreach" c:identifier="g_sequence_foreach" version="2.14" introspectable="0">
<doc xml:space="preserve">Calls @func for each item in the sequence passing @user_data
to the function. @func must not modify the sequence itself.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Frees the memory allocated for @seq. If @seq has a data destroy
function associated with it, that function is called on all items
in @seq.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_begin_iter" c:identifier="g_sequence_get_begin_iter" version="2.14">
<doc xml:space="preserve">Returns the begin iterator for @seq.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the begin iterator for @seq.</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
</method>
<method name="get_end_iter" c:identifier="g_sequence_get_end_iter" version="2.14">
<doc xml:space="preserve">Returns the end iterator for @seg</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the end iterator for @seq</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
<method name="get_iter_at_pos" c:identifier="g_sequence_get_iter_at_pos" version="2.14">
<doc xml:space="preserve">Returns the iterator at position @pos. If @pos is negative or larger
than the number of items in @seq, the end iterator is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The #GSequenceIter at position @pos</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
</parameters>
</method>
<method name="get_length" c:identifier="g_sequence_get_length" version="2.14">
- <doc xml:space="preserve">Returns the length of @seq. Note that this method is O(h) where `h' is the
-height of the tree. It is thus more efficient to use g_sequence_is_empty()
-when comparing the length to zero.</doc>
-
+ <doc xml:space="preserve">Returns the positive length (>= 0) of @seq. Note that this method is
+O(h) where `h' is the height of the tree. It is thus more efficient
+to use g_sequence_is_empty() when comparing the length to zero.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of @seq</doc>
<type name="gint" c:type="gint"/>
Note that when adding a large amount of data to a #GSequence,
it is more efficient to do unsorted insertions and then call
g_sequence_sort() or g_sequence_sort_iter().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter pointing to the new item.</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
Note that when adding a large amount of data to a #GSequence,
it is more efficient to do unsorted insertions and then call
g_sequence_sort() or g_sequence_sort_iter().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter pointing to the new item</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
This function is functionally identical to checking the result of
g_sequence_get_length() being equal to zero. However this function is
implemented in O(1) running time.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the sequence is empty, otherwise %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
This function will fail if the data contained in the sequence is
unsorted.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">an #GSequenceIter pointing to the position of the
first item found equal to @data according to @cmp_func and
This function will fail if the data contained in the sequence is
unsorted.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">an #GSequenceIter pointing to the position of
the first item found equal to @data according to @iter_cmp
</method>
<method name="prepend" c:identifier="g_sequence_prepend" version="2.14">
<doc xml:space="preserve">Adds a new item to the front of @seq</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an iterator pointing to the new item</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
This function will fail if the data contained in the sequence is
unsorted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an #GSequenceIter pointing to the position where @data
would have been inserted according to @cmp_func and @cmp_data</doc>
This function will fail if the data contained in the sequence is
unsorted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter pointing to the position in @seq
where @data would have been inserted according to @iter_cmp
return 0 if they are equal, a negative value if the
first comes before the second, and a positive value
if the second comes before the first.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
return 0 if the iterators are equal, a negative value if the first
iterator comes before the second, and a positive value if the second
iterator comes before the first.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Calls @func for each item in the range (@begin, @end) passing
@user_data to the function. @func must not modify the sequence
itself.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="get" c:identifier="g_sequence_get" version="2.14">
<doc xml:space="preserve">Returns the data that @iter points to.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data that @iter points to</doc>
<type name="gpointer" c:type="gpointer"/>
</function>
<function name="insert_before" c:identifier="g_sequence_insert_before" version="2.14">
<doc xml:space="preserve">Inserts a new item just before the item pointed to by @iter.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an iterator pointing to the new item</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
After calling this function @dest will point to the position immediately
after @src. It is allowed for @src and @dest to point into different
sequences.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @dest is %NULL, the range indicated by @begin and @end is
removed from the sequence. If @dest points to a place within
the (@begin, @end) range, the range does not move.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Creates a new GSequence. The @data_destroy function, if non-%NULL will
be called on all items when the sequence is destroyed and on items that
are removed from the sequence.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSequence</doc>
<type name="Sequence" c:type="GSequence*"/>
The @begin and @end iterators must both point to the same sequence
and @begin must come before or be equal to @end in the sequence.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter pointing somewhere in the
(@begin, @end) range</doc>
If the sequence has a data destroy function associated with it, this
function is called on the data for the removed item.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the sequence has a data destroy function associated with it, this
function is called on the data for the removed items.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Changes the data for the item pointed to by @iter to be @data. If
the sequence has a data destroy function associated with it, that
function is called on the existing data that @iter pointed to.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It should return 0 if the items are equal, a negative value if
the first item comes before the second, and a positive value if
the second item comes before the first.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
return 0 if the iterators are equal, a negative value if the first
iterator comes before the second, and a positive value if the second
iterator comes before the first.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="swap" c:identifier="g_sequence_swap" version="2.14">
<doc xml:space="preserve">Swaps the items pointed to by @a and @b. It is allowed for @a and @b
to point into difference sequences.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="SequenceIter" c:type="GSequenceIter" disguised="1">
<doc xml:space="preserve">The #GSequenceIter struct is an opaque data type representing an
iterator pointing into a #GSequence.</doc>
-
<method name="compare" c:identifier="g_sequence_iter_compare" version="2.14">
<doc xml:space="preserve">Returns a negative number if @a comes before @b, 0 if they are equal,
and a positive number if @a comes after @b.
The @a and @b iterators must point into the same sequence.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a negative number if @a comes before @b, 0 if they are
equal, and a positive number if @a comes after @b</doc>
</method>
<method name="get_position" c:identifier="g_sequence_iter_get_position" version="2.14">
<doc xml:space="preserve">Returns the position of @iter</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the position of @iter</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_sequence" c:identifier="g_sequence_iter_get_sequence" version="2.14">
<doc xml:space="preserve">Returns the #GSequence that @iter points into.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GSequence that @iter points into</doc>
<type name="Sequence" c:type="GSequence*"/>
</method>
<method name="is_begin" c:identifier="g_sequence_iter_is_begin" version="2.14">
<doc xml:space="preserve">Returns whether @iter is the begin iterator</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @iter is the begin iterator</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_end" c:identifier="g_sequence_iter_is_end" version="2.14">
<doc xml:space="preserve">Returns whether @iter is the end iterator</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Whether @iter is the end iterator</doc>
<type name="gboolean" c:type="gboolean"/>
If @iter is closer than -@delta positions to the beginning of the sequence,
the begin iterator is returned. If @iter is closer than @delta positions
to the end of the sequence, the end iterator is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter which is @delta positions away from @iter</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
<method name="next" c:identifier="g_sequence_iter_next" version="2.14">
<doc xml:space="preserve">Returns an iterator pointing to the next position after @iter.
If @iter is the end iterator, the end iterator is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter pointing to the next position after @iter</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
<method name="prev" c:identifier="g_sequence_iter_prev" version="2.14">
<doc xml:space="preserve">Returns an iterator pointing to the previous position before @iter.
If @iter is the begin iterator, the begin iterator is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter pointing to the previous position
before @iter</doc>
<doc xml:space="preserve">A #GSequenceIterCompareFunc is a function used to compare iterators.
It must return zero if the iterators compare equal, a negative value
if @a comes before @b, and a positive value if @b comes before @a.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">zero if the iterators are equal, a negative value if @a
comes before @b, and a positive value if @b comes before @a.</doc>
</callback>
<enumeration name="ShellError" c:type="GShellError" glib:error-domain="g-shell-error-quark">
<doc xml:space="preserve">Error codes returned by shell functions.</doc>
-
<member name="bad_quoting" value="0" c:identifier="G_SHELL_ERROR_BAD_QUOTING">
<doc xml:space="preserve">Mismatched or otherwise mangled quoting.</doc>
</member>
</member>
</enumeration>
<enumeration name="SliceConfig" c:type="GSliceConfig">
-
<member name="always_malloc" value="1" c:identifier="G_SLICE_CONFIG_ALWAYS_MALLOC">
</member>
<member name="bypass_magazines" value="2" c:identifier="G_SLICE_CONFIG_BYPASS_MAGAZINES">
<record name="Source" c:type="GSource" glib:type-name="GSource" glib:get-type="g_source_get_type" c:symbol-prefix="source">
<doc xml:space="preserve">The `GSource` struct is an opaque data type
representing an event source.</doc>
-
<field name="callback_data" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
The source will not initially be associated with any #GMainContext
and must be added to one with g_source_attach() before it will be
executed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly-created #GSource.</doc>
<type name="Source" c:type="GSource*"/>
This API is only intended to be used by implementations of #GSource.
Do not call this API on a #GSource that you did not create.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Using this API forces the linear scanning of event sources on each
main loop iteration. Newly-written event sources should try to use
g_source_add_unix_fd() instead of this API.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Do not call this API on a #GSource that you did not create.
As the name suggests, this function is not available on Windows.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an opaque tag</doc>
<type name="gpointer" c:type="gpointer"/>
This function is safe to call from any thread, regardless of which thread
the @context is running in.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) for the source within the
#GMainContext.</doc>
This function is safe to call from any thread, regardless of which thread
the #GMainContext is running in.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="get_can_recurse" c:identifier="g_source_get_can_recurse">
<doc xml:space="preserve">Checks whether a source is allowed to be called recursively.
see g_source_set_can_recurse().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether recursion is allowed.</doc>
<type name="gboolean" c:type="gboolean"/>
always call this function on the source returned from
g_main_current_source(). But calling this function on a source
whose #GMainContext has been destroyed is an error.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the #GMainContext with which the
source is associated, or %NULL if the context has not
<doc xml:space="preserve">This function ignores @source and is otherwise the same as
g_get_current_time().</doc>
<doc-deprecated xml:space="preserve">use g_source_get_time() instead</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
#GMainContext instance; calling this function before g_source_attach()
or after g_source_destroy() yields undefined behavior. The ID returned
is unique within the #GMainContext instance passed to g_source_attach().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) for the source</doc>
<type name="guint" c:type="guint"/>
<method name="get_name" c:identifier="g_source_get_name" version="2.26">
<doc xml:space="preserve">Gets a name for the source, used in debugging and profiling. The
name may be #NULL if it has never been set with g_source_set_name().</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the name of the source</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</method>
<method name="get_priority" c:identifier="g_source_get_priority">
<doc xml:space="preserve">Gets the priority of a source.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the priority of the source</doc>
<type name="gint" c:type="gint"/>
Any time before the current monotonic time (including 0) is an
indication that the source will fire immediately.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the monotonic ready time, -1 for "never"</doc>
<type name="gint64" c:type="gint64"/>
The time here is the system monotonic time, if available, or some
other reasonable alternative otherwise. See g_get_monotonic_time().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the monotonic time in microseconds</doc>
<type name="gint64" c:type="gint64"/>
{
SomeWidget *self = data;
- GDK_THREADS_ENTER ();
+ g_mutex_lock (&self->idle_id_mutex);
// do stuff with self
self->idle_id = 0;
- GDK_THREADS_LEAVE ();
+ g_mutex_unlock (&self->idle_id_mutex);
return G_SOURCE_REMOVE;
}
static void
some_widget_do_stuff_later (SomeWidget *self)
{
+ g_mutex_lock (&self->idle_id_mutex);
self->idle_id = g_idle_add (idle_callback, self);
+ g_mutex_unlock (&self->idle_id_mutex);
}
+static void
+some_widget_init (SomeWidget *self)
+{
+ g_mutex_init (&self->idle_id_mutex);
+
+ // ...
+}
+
static void
some_widget_finalize (GObject *object)
{
if (self->idle_id)
g_source_remove (self->idle_id);
+ g_mutex_clear (&self->idle_id_mutex);
+
G_OBJECT_CLASS (parent_class)->finalize (object);
}
]|
{
SomeWidget *self = data;
- GDK_THREADS_ENTER ();
+ g_mutex_lock (&self->idle_id_mutex);
if (!g_source_is_destroyed (g_main_current_source ()))
{
// do stuff with self
}
- GDK_THREADS_LEAVE ();
+ g_mutex_unlock (&self->idle_id_mutex);
return FALSE;
}
source could be destroyed immediately after this function returns. However,
once a source is destroyed it cannot be un-destroyed, so this function can be
used for opportunistic checks from any thread.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the source has been destroyed</doc>
<type name="gboolean" c:type="gboolean"/>
Do not call this API on a #GSource that you did not create.
As the name suggests, this function is not available on Windows.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Do not call this API on a #GSource that you did not create.
As the name suggests, this function is not available on Windows.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the conditions reported on the fd</doc>
<type name="IOCondition" c:type="GIOCondition"/>
</method>
<method name="ref" c:identifier="g_source_ref">
<doc xml:space="preserve">Increases the reference count on a source by one.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@source</doc>
<type name="Source" c:type="GSource*"/>
This API is only intended to be used by implementations of #GSource.
Do not call this API on a #GSource that you did not create.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This API is only intended to be used by implementations of #GSource.
Do not call this API on a #GSource that you did not create.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Do not call this API on a #GSource that you did not create.
As the name suggests, this function is not available on Windows.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is safe to call this function multiple times on a source which has already
been attached to a context. The changes will take effect for the next time
the source is dispatched after this call returns.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is safe to call this function multiple times on a source which has already
been attached to a context. The changes will take effect for the next time
the source is dispatched after this call returns.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%TRUE, then while the source is being dispatched then this source
will be processed normally. Otherwise, all processing of this
source is blocked until the dispatch function returns.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@source is already partially freed and not valid anymore.
This should only ever be called from #GSource implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_funcs" c:identifier="g_source_set_funcs" version="2.12">
<doc xml:space="preserve">Sets the source functions (can be used to override
default implementations) of an unattached source.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
accessing it with g_source_get_name(); that function does not copy
the value, and changing the value will free it while the other thread
may be attempting to use it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
A child source always has the same priority as its parent. It is not
permitted to change the priority of a source once it has been added
as a child of another source.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This API is only intended to be used by implementations of #GSource.
Do not call this API on a #GSource that you did not create.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Decreases the reference count of a source by one. If the
resulting reference count is zero the source and associated
memory will be destroyed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
is called on its (now invalid) source ID. This source ID may have
been reissued, leading to the operation being performed against the
wrong source.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">For historical reasons, this function always returns %TRUE</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Removes a source from the default main loop context given the
source functions and user data. If multiple sources exist with the
same source functions and user data, only one will be destroyed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a source was found and removed.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Removes a source from the default main loop context given the user
data for the callback. If multiple sources exist with the same user
data, only one will be destroyed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a source was found and removed.</doc>
<type name="gboolean" c:type="gboolean"/>
is called on its (now invalid) source ID. This source ID may have
been reissued, leading to the operation being performed against the
wrong source.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="SourceCallbackFuncs" c:type="GSourceCallbackFuncs">
<doc xml:space="preserve">The `GSourceCallbackFuncs` struct contains
functions for managing callback objects.</doc>
-
<field name="ref">
<callback name="ref">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unref">
<callback name="unref">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get" introspectable="0">
<callback name="get" introspectable="0">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<callback name="SourceDisposeFunc" c:type="GSourceDisposeFunc" version="2.64">
<doc xml:space="preserve">Dispose function for @source. See g_source_set_dispose_function() for
details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<callback name="SourceDummyMarshal" c:type="GSourceDummyMarshal">
<doc xml:space="preserve">This is just a placeholder for #GClosureMarshal,
which cannot be used here for dependency reasons.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
When calling g_source_set_callback(), you may need to cast a function of a
different type to this type. Use G_SOURCE_FUNC() to avoid warnings about
incompatible function types.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if the source should be removed. #G_SOURCE_CONTINUE and
#G_SOURCE_REMOVE are more memorable names for the return value.</doc>
indicate that it doesn't mind how long the poll() call blocks. In the
check function, it tests the results of the poll() call to see if the
required condition has been met, and returns %TRUE if so.</doc>
-
<field name="prepare">
<callback name="prepare">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="check">
<callback name="check">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="dispatch" introspectable="0">
<callback name="dispatch" introspectable="0">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="finalize">
<callback name="finalize">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<type name="SourceDummyMarshal" c:type="GSourceDummyMarshal"/>
</field>
</record>
- <record name="SourcePrivate" c:type="GSourcePrivate" disguised="1">
-
- </record>
+ <record name="SourcePrivate" c:type="GSourcePrivate" disguised="1"/>
<callback name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc">
<doc xml:space="preserve">Specifies the type of the setup function passed to g_spawn_async(),
g_spawn_sync() and g_spawn_async_with_pipes(), which can, in very
the parent, you should use g_get_environ(), g_environ_setenv(),
and g_environ_unsetenv(), and then pass the complete environment
list to the `g_spawn...` function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<enumeration name="SpawnError" c:type="GSpawnError" glib:error-domain="g-exec-error-quark">
<doc xml:space="preserve">Error codes returned by spawning processes.</doc>
-
<member name="fork" value="0" c:identifier="G_SPAWN_ERROR_FORK">
<doc xml:space="preserve">Fork failed due to lack of memory.</doc>
</member>
</enumeration>
<bitfield name="SpawnFlags" c:type="GSpawnFlags">
<doc xml:space="preserve">Flags passed to g_spawn_sync(), g_spawn_async() and g_spawn_async_with_pipes().</doc>
-
<member name="default" value="0" c:identifier="G_SPAWN_DEFAULT">
<doc xml:space="preserve">no flags, default behaviour</doc>
</member>
system call, depending on the platform and/or compiler being used.
See g_stat() for more information.</doc>
-
</record>
<record name="String" c:type="GString" glib:type-name="GString" glib:get-type="g_gstring_get_type" c:symbol-prefix="gstring">
<doc xml:space="preserve">The GString struct contains the public fields of a GString.</doc>
-
<field name="str" writable="1">
<doc xml:space="preserve">points to the character data. It may move as text is added.
The @str field is null-terminated and so
<method name="append" c:identifier="g_string_append">
<doc xml:space="preserve">Adds a string onto the end of a #GString, expanding
it if necessary.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<method name="append_c" c:identifier="g_string_append_c">
<doc xml:space="preserve">Adds a byte onto the end of a #GString, expanding
it if necessary.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
If @len is negative, @val must be nul-terminated and @len
is considered to request the entire string length. This
makes g_string_append_len() equivalent to g_string_append().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<doc xml:space="preserve">Appends a formatted string onto the end of a #GString.
This function is similar to g_string_printf() except
that the text is appended to the #GString.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="append_unichar" c:identifier="g_string_append_unichar">
<doc xml:space="preserve">Converts a Unicode character into UTF-8, and appends it
to the string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<method name="append_uri_escaped" c:identifier="g_string_append_uri_escaped" version="2.16">
<doc xml:space="preserve">Appends @unescaped to @string, escaping any characters that
are reserved in URIs using URI-style escape sequences.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
This function is similar to g_string_append_printf()
except that the arguments to the format string are passed
as a va_list.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="ascii_down" c:identifier="g_string_ascii_down">
<doc xml:space="preserve">Converts all uppercase ASCII letters to lowercase ASCII letters.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">passed-in @string pointer, with all the
uppercase characters converted to lowercase in place,
</method>
<method name="ascii_up" c:identifier="g_string_ascii_up">
<doc xml:space="preserve">Converts all lowercase ASCII letters to uppercase ASCII letters.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">passed-in @string pointer, with all the
lowercase characters converted to uppercase in place,
destroying any previous contents. It is rather like
the standard strcpy() function, except that you do not
have to worry about having enough space to copy the string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<doc-deprecated xml:space="preserve">This function uses the locale-specific
tolower() function, which is almost never the right thing.
Use g_string_ascii_down() or g_utf8_strdown() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GString</doc>
<type name="String" c:type="GString*"/>
<method name="equal" c:identifier="g_string_equal">
<doc xml:space="preserve">Compares two strings for equality, returning %TRUE if they are equal.
For use with #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the strings are the same length and contain the
same bytes</doc>
<method name="erase" c:identifier="g_string_erase">
<doc xml:space="preserve">Removes @len bytes from a #GString, starting at position @pos.
The rest of the #GString is shifted down to fill the gap.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
If @free_segment is %TRUE it also frees the character data. If
it's %FALSE, the caller gains ownership of the buffer and must
free it after use with g_free().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the character data of @string
(i.e. %NULL if @free_segment is %TRUE)</doc>
trailing nul character (not reflected in its "len"), the returned
#GBytes does not include this extra nul; i.e. it has length exactly
equal to the "len" member.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly allocated #GBytes containing contents of @string; @string itself is freed</doc>
<type name="Bytes" c:type="GBytes*"/>
</method>
<method name="hash" c:identifier="g_string_hash">
<doc xml:space="preserve">Creates a hash code for @str; for use with #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">hash code for @str</doc>
<type name="guint" c:type="guint"/>
<method name="insert" c:identifier="g_string_insert">
<doc xml:space="preserve">Inserts a copy of a string into a #GString,
expanding it if necessary.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
</method>
<method name="insert_c" c:identifier="g_string_insert_c">
<doc xml:space="preserve">Inserts a byte into a #GString, expanding it if necessary.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
is considered to request the entire string length.
If @pos is -1, bytes are inserted at the end of the string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<method name="insert_unichar" c:identifier="g_string_insert_unichar">
<doc xml:space="preserve">Converts a Unicode character into UTF-8, and insert it
into the string at the given position.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
</method>
<method name="overwrite" c:identifier="g_string_overwrite" version="2.14">
<doc xml:space="preserve">Overwrites part of a string, lengthening it if necessary.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<method name="overwrite_len" c:identifier="g_string_overwrite_len" version="2.14">
<doc xml:space="preserve">Overwrites part of a string, lengthening it if necessary.
This function will work with embedded nuls.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<method name="prepend" c:identifier="g_string_prepend">
<doc xml:space="preserve">Adds a string on to the start of a #GString,
expanding it if necessary.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<method name="prepend_c" c:identifier="g_string_prepend_c">
<doc xml:space="preserve">Adds a byte onto the start of a #GString,
expanding it if necessary.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
If @len is negative, @val must be nul-terminated and @len
is considered to request the entire string length. This
makes g_string_prepend_len() equivalent to g_string_prepend().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<method name="prepend_unichar" c:identifier="g_string_prepend_unichar">
<doc xml:space="preserve">Converts a Unicode character into UTF-8, and prepends it
to the string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
except that the #GString buffer automatically expands
to contain the results. The previous contents of the
#GString are destroyed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
length is greater than the current length, the contents
of the newly added area are undefined. (However, as
always, string->str[string->len] will be a nul byte.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
</method>
<method name="truncate" c:identifier="g_string_truncate">
<doc xml:space="preserve">Cuts off the end of the GString, leaving the first @len bytes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<doc-deprecated xml:space="preserve">This function uses the locale-specific
toupper() function, which is almost never the right thing.
Use g_string_ascii_up() or g_utf8_strup() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@string</doc>
<type name="String" c:type="GString*"/>
<doc xml:space="preserve">Writes a formatted string into a #GString.
This function is similar to g_string_printf() except that
the arguments to the format string are passed as a va_list.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="StringChunk" c:type="GStringChunk" disguised="1">
<doc xml:space="preserve">An opaque data structure representing String Chunks.
It should only be accessed by using the following functions.</doc>
-
<method name="clear" c:identifier="g_string_chunk_clear" version="2.14">
<doc xml:space="preserve">Frees all strings contained within the #GStringChunk.
After calling g_string_chunk_clear() it is not safe to
access any of the strings which were contained within it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Frees all memory allocated by the #GStringChunk.
After calling g_string_chunk_free() it is not safe to
access any of the strings which were contained within it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
with g_string_chunk_insert() will not be searched
by g_string_chunk_insert_const() when looking for
duplicates.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the copy of @string within
the #GStringChunk</doc>
Note that g_string_chunk_insert_const() will not return a
pointer to a string added with g_string_chunk_insert(), even
if they do match.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the new or existing copy of @string
within the #GStringChunk</doc>
The characters in the returned string can be changed, if necessary,
though you should not change anything after the end of the string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the copy of @string within the #GStringChunk</doc>
<type name="utf8" c:type="gchar*"/>
</method>
<function name="new" c:identifier="g_string_chunk_new" introspectable="0">
<doc xml:space="preserve">Creates a new #GStringChunk.</doc>
-
<return-value>
<doc xml:space="preserve">a new #GStringChunk</doc>
<type name="StringChunk" c:type="GStringChunk*"/>
The subdirectories may not be created by the test harness; as with normal
calls to functions like g_get_user_cache_dir(), the caller must be prepared
to create the directory if it doesn’t exist.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="TIME_SPAN_DAY" value="86400000000" c:type="G_TIME_SPAN_DAY" version="2.26">
<doc xml:space="preserve">Evaluates to a time span of one day.</doc>
-
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="TIME_SPAN_HOUR" value="3600000000" c:type="G_TIME_SPAN_HOUR" version="2.26">
<doc xml:space="preserve">Evaluates to a time span of one hour.</doc>
-
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="TIME_SPAN_MILLISECOND" value="1000" c:type="G_TIME_SPAN_MILLISECOND" version="2.26">
<doc xml:space="preserve">Evaluates to a time span of one millisecond.</doc>
-
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="TIME_SPAN_MINUTE" value="60000000" c:type="G_TIME_SPAN_MINUTE" version="2.26">
<doc xml:space="preserve">Evaluates to a time span of one minute.</doc>
-
<type name="gint64" c:type="gint64"/>
</constant>
<constant name="TIME_SPAN_SECOND" value="1000000" c:type="G_TIME_SPAN_SECOND" version="2.26">
<doc xml:space="preserve">Evaluates to a time span of one second.</doc>
-
<type name="gint64" c:type="gint64"/>
</constant>
<function-macro name="TRYLOCK" c:identifier="G_TRYLOCK" introspectable="0">
<doc xml:space="preserve">Works like g_mutex_trylock(), but for a lock defined with
#G_LOCK_DEFINE.</doc>
-
<parameters>
<parameter name="name">
<doc xml:space="preserve">the name of the lock</doc>
</function-macro>
<record name="TestCase" c:type="GTestCase" disguised="1">
<doc xml:space="preserve">An opaque structure representing a test case.</doc>
-
</record>
<record name="TestConfig" c:type="GTestConfig">
-
<field name="test_initialized" writable="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<callback name="TestDataFunc" c:type="GTestDataFunc" version="2.28">
<doc xml:space="preserve">The type used for test case functions that take an extra pointer
argument.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
part of the build-from-git process (but then are distributed with the
tarball) always go in srcdir (even if doing a srcdir != builddir
build from git) and are considered as distributed files.</doc>
-
<member name="dist" value="0" c:identifier="G_TEST_DIST">
<doc xml:space="preserve">a file that was included in the distribution tarball</doc>
</member>
@fixture will be a pointer to the area of memory allocated by the
test framework, of the size requested. If the requested size was
zero then @fixture will be equal to @user_data.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="TestFunc" c:type="GTestFunc" version="2.28">
<doc xml:space="preserve">The type used for test case functions.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<record name="TestLogBuffer" c:type="GTestLogBuffer">
-
<field name="data" readable="0" private="1">
<type name="String" c:type="GString*"/>
</field>
</field>
<method name="free" c:identifier="g_test_log_buffer_free">
<doc xml:space="preserve">Internal function for gtester to free test log messages, no ABI guarantees provided.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="pop" c:identifier="g_test_log_buffer_pop" introspectable="0">
<doc xml:space="preserve">Internal function for gtester to retrieve test log messages, no ABI guarantees provided.</doc>
-
<return-value>
<type name="TestLogMsg" c:type="GTestLogMsg*"/>
</return-value>
</method>
<method name="push" c:identifier="g_test_log_buffer_push">
<doc xml:space="preserve">Internal function for gtester to decode test log messages, no ABI guarantees provided.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<function name="new" c:identifier="g_test_log_buffer_new" introspectable="0">
<doc xml:space="preserve">Internal function for gtester to decode test log messages, no ABI guarantees provided.</doc>
-
<return-value>
<type name="TestLogBuffer" c:type="GTestLogBuffer*"/>
</return-value>
</record>
<callback name="TestLogFatalFunc" c:type="GTestLogFatalFunc" version="2.22">
<doc xml:space="preserve">Specifies the prototype of fatal log handler functions.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the program should abort, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</callback>
<record name="TestLogMsg" c:type="GTestLogMsg">
-
<field name="log_type" writable="1">
<type name="TestLogType" c:type="GTestLogType"/>
</field>
</field>
<method name="free" c:identifier="g_test_log_msg_free">
<doc xml:space="preserve">Internal function for gtester to free test log messages, no ABI guarantees provided.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
</record>
<enumeration name="TestLogType" c:type="GTestLogType">
-
<member name="none" value="0" c:identifier="G_TEST_LOG_NONE">
</member>
<member name="error" value="1" c:identifier="G_TEST_LOG_ERROR">
</member>
</enumeration>
<enumeration name="TestResult" c:type="GTestResult">
-
<member name="success" value="0" c:identifier="G_TEST_RUN_SUCCESS">
</member>
<member name="skipped" value="1" c:identifier="G_TEST_RUN_SKIPPED">
Note that in contrast with g_test_trap_fork(), the default is to
not show stdout and stderr.</doc>
-
<member name="stdin" value="1" c:identifier="G_TEST_SUBPROCESS_INHERIT_STDIN">
<doc xml:space="preserve">If this flag is given, the child
process will inherit the parent's stdin. Otherwise, the child's
</bitfield>
<record name="TestSuite" c:type="GTestSuite" disguised="1">
<doc xml:space="preserve">An opaque structure representing a test suite.</doc>
-
<method name="add" c:identifier="g_test_suite_add" version="2.16">
<doc xml:space="preserve">Adds @test_case to @suite.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="add_suite" c:identifier="g_test_suite_add_suite" version="2.16">
<doc xml:space="preserve">Adds @nestedsuite to @suite.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc-deprecated xml:space="preserve">#GTestTrapFlags is used only with g_test_trap_fork(),
which is deprecated. g_test_trap_subprocess() uses
#GTestSubprocessFlags.</doc-deprecated>
-
<member name="silence_stdout" value="128" c:identifier="G_TEST_TRAP_SILENCE_STDOUT">
<doc xml:space="preserve">Redirect stdout of the test child to
`/dev/null` so it cannot be observed on the console during test
The structure is opaque -- none of its fields may be directly
accessed.</doc>
-
<constructor name="new" c:identifier="g_thread_new" version="2.32">
<doc xml:space="preserve">This function creates a new thread. The new thread starts by invoking
@func with the argument data. The thread will run until @func returns
inheriting the thread priority but were spawned with the default priority.
Starting with GLib 2.64 the behaviour is now consistent between Windows and
POSIX and all threads inherit their parent thread's priority.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GThread</doc>
<type name="Thread" c:type="GThread*"/>
If a thread can not be created (due to resource limits),
@error is set and %NULL is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GThread, or %NULL if an error occurred</doc>
<type name="Thread" c:type="GThread*"/>
This will usually cause the #GThread struct and associated resources
to be freed. Use g_thread_ref() to obtain an extra reference if you
want to keep the GThread alive beyond the g_thread_join() call.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the return value of the thread</doc>
<type name="gpointer" c:type="gpointer"/>
</method>
<method name="ref" c:identifier="g_thread_ref" version="2.32">
<doc xml:space="preserve">Increase the reference count on @thread.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to @thread</doc>
<type name="Thread" c:type="GThread*"/>
Note that each thread holds a reference to its #GThread while
it is running, so it is safe to drop your own reference to it
if you don't need it anymore.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
yourself with g_thread_new() or related APIs. You must not call
this function from a thread created with another threading library
or or from within a #GThreadPool.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
APIs). This may be useful for thread identification purposes
(i.e. comparisons) but you must not use GLib functions (such
as g_thread_join()) on these threads.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GThread representing the current thread</doc>
<type name="Thread" c:type="GThread*"/>
that other threads can run.
This function is often used as a method to make busy wait less evil.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<enumeration name="ThreadError" c:type="GThreadError" glib:error-domain="g_thread_error">
<doc xml:space="preserve">Possible errors of thread related functions.</doc>
-
<member name="thread_error_again" value="0" c:identifier="G_THREAD_ERROR_AGAIN">
<doc xml:space="preserve">a thread couldn't be created due to resource
shortage. Try again later.</doc>
<callback name="ThreadFunc" c:type="GThreadFunc">
<doc xml:space="preserve">Specifies the type of the @func functions passed to g_thread_new()
or g_thread_try_new().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the return value of the thread</doc>
<type name="gpointer" c:type="gpointer"/>
<doc xml:space="preserve">The #GThreadPool struct represents a thread pool. It has three
public read-only members, but the underlying struct is bigger,
so you must not copy this struct.</doc>
-
<field name="func" writable="1">
<doc xml:space="preserve">the function to execute in the threads of this pool</doc>
<type name="Func" c:type="GFunc"/>
Otherwise this function returns immediately.
After calling this function @pool must not be used anymore.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_max_threads" c:identifier="g_thread_pool_get_max_threads">
<doc xml:space="preserve">Returns the maximal number of threads for @pool.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximal number of threads</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_num_threads" c:identifier="g_thread_pool_get_num_threads">
<doc xml:space="preserve">Returns the number of threads currently running in @pool.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of threads currently running</doc>
<type name="guint" c:type="guint"/>
<method name="move_to_front" c:identifier="g_thread_pool_move_to_front" version="2.46">
<doc xml:space="preserve">Moves the item to the front of the queue of unprocessed
items, so that it will be processed next.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the item was found and moved</doc>
<type name="gboolean" c:type="gboolean"/>
work to do.
Before version 2.32, this function did not return a success status.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error occurred</doc>
<type name="gboolean" c:type="gboolean"/>
created.
Before version 2.32, this function did not return a success status.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error occurred</doc>
<type name="gboolean" c:type="gboolean"/>
scheduled by the operating system and are executed at random. It
cannot be assumed that threads are executed in the order they are
created.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unprocessed" c:identifier="g_thread_pool_unprocessed">
<doc xml:space="preserve">Returns the number of tasks still unprocessed in @pool.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of unprocessed tasks</doc>
<type name="guint" c:type="guint"/>
If this function returns 0, threads waiting in the thread
pool for new work are not stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximum @interval (milliseconds) to wait
for new tasks in the thread pool before stopping the
</function>
<function name="get_max_unused_threads" c:identifier="g_thread_pool_get_max_unused_threads">
<doc xml:space="preserve">Returns the maximal allowed number of unused threads.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximal number of unused threads</doc>
<type name="gint" c:type="gint"/>
</function>
<function name="get_num_unused_threads" c:identifier="g_thread_pool_get_num_unused_threads">
<doc xml:space="preserve">Returns the number of currently unused threads.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of currently unused threads</doc>
<type name="guint" c:type="guint"/>
and not all @max_threads threads could be created.
See #GThreadError for possible errors that may occur.
Note, even in case of error a valid #GThreadPool is returned.</doc>
-
<return-value>
<doc xml:space="preserve">the new #GThreadPool</doc>
<type name="ThreadPool" c:type="GThreadPool*"/>
By setting @interval to 0, idle threads will not be stopped.
The default value is 15000 (15 seconds).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
of unused threads.
The default value is 2.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Stops all currently unused threads. This does not change the
maximal number of unused threads. This function can be used to
regularly stop all unused threads e.g. from g_timeout_add().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
standard time or local daylight time. This is important for the case
where the same local time occurs twice (during daylight savings time
transitions, for example).</doc>
-
<member name="standard" value="0" c:identifier="G_TIME_TYPE_STANDARD">
<doc xml:space="preserve">the time is in local standard time</doc>
</member>
`tv_sec` is that on 32-bit systems `GTimeVal` is subject to the year 2038
problem.</doc>
<doc-deprecated xml:space="preserve">Use #GDateTime or #guint64 instead.</doc-deprecated>
-
<field name="tv_sec" writable="1">
<doc xml:space="preserve">seconds</doc>
<type name="glong" c:type="glong"/>
also be negative to decrease the value of @time_.</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use `guint64` for
representing microseconds since the epoch, or use #GDateTime.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
2.54; before then, GLib would crash under the same conditions.</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use
g_date_time_format_iso8601(dt) instead.</doc-deprecated>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing an ISO 8601 date,
or %NULL if @time_ was too large</doc>
]|</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use
g_date_time_new_from_iso8601() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the conversion was successful.</doc>
<type name="gboolean" c:type="gboolean"/>
<record name="TimeZone" c:type="GTimeZone" version="2.26" glib:type-name="GTimeZone" glib:get-type="g_time_zone_get_type" c:symbol-prefix="time_zone">
<doc xml:space="preserve">#GTimeZone is an opaque structure whose members cannot be accessed
directly.</doc>
-
- <constructor name="new" c:identifier="g_time_zone_new" version="2.26">
- <doc xml:space="preserve">Creates a #GTimeZone corresponding to @identifier.
-
-@identifier can either be an RFC3339/ISO 8601 time offset or
-something that would pass as a valid value for the `TZ` environment
-variable (including %NULL).
-
-In Windows, @identifier can also be the unlocalized name of a time
-zone for standard time, for example "Pacific Standard Time".
-
-Valid RFC3339 time offsets are `"Z"` (for UTC) or
-`"±hh:mm"`. ISO 8601 additionally specifies
-`"±hhmm"` and `"±hh"`. Offsets are
-time values to be added to Coordinated Universal Time (UTC) to get
-the local time.
-
-In UNIX, the `TZ` environment variable typically corresponds
-to the name of a file in the zoneinfo database, an absolute path to a file
-somewhere else, or a string in
-"std offset [dst [offset],start[/time],end[/time]]" (POSIX) format.
-There are no spaces in the specification. The name of standard
-and daylight savings time zone must be three or more alphabetic
-characters. Offsets are time values to be added to local time to
-get Coordinated Universal Time (UTC) and should be
-`"[±]hh[[:]mm[:ss]]"`. Dates are either
-`"Jn"` (Julian day with n between 1 and 365, leap
-years not counted), `"n"` (zero-based Julian day
-with n between 0 and 365) or `"Mm.w.d"` (day d
-(0 <= d <= 6) of week w (1 <= w <= 5) of month m (1 <= m <= 12), day
-0 is a Sunday). Times are in local wall clock time, the default is
-02:00:00.
-
-In Windows, the "tzn[+|–]hh[:mm[:ss]][dzn]" format is used, but also
-accepts POSIX format. The Windows format uses US rules for all time
-zones; daylight savings time is 60 minutes behind the standard time
-with date and time of change taken from Pacific Standard Time.
-Offsets are time values to be added to the local time to get
-Coordinated Universal Time (UTC).
-
-g_time_zone_new_local() calls this function with the value of the
-`TZ` environment variable. This function itself is independent of
-the value of `TZ`, but if @identifier is %NULL then `/etc/localtime`
-will be consulted to discover the correct time zone on UNIX and the
-registry will be consulted or GetTimeZoneInformation() will be used
-to get the local time zone on Windows.
-
-If intervals are not available, only time zone rules from `TZ`
-environment variable or other means, then they will be computed
-from year 1900 to 2037. If the maximum year for the rules is
-available and it is greater than 2037, then it will followed
-instead.
-
-See
-[RFC3339 §5.6](http://tools.ietf.org/html/rfc3339#section-5.6)
-for a precise definition of valid RFC3339 time offsets
-(the `time-offset` expansion) and ISO 8601 for the
-full list of valid time offsets. See
-[The GNU C Library manual](http://www.gnu.org/s/libc/manual/html_node/TZ-Variable.html)
-for an explanation of the possible
-values of the `TZ` environment variable. See
-[Microsoft Time Zone Index Values](http://msdn.microsoft.com/en-us/library/ms912391%28v=winembedded.11%29.aspx)
-for the list of time zones on Windows.
-
-You should release the return value by calling g_time_zone_unref()
-when you are done with it.</doc>
-
+ <constructor name="new" c:identifier="g_time_zone_new" version="2.26" deprecated="1" deprecated-version="2.68">
+ <doc xml:space="preserve">A version of g_time_zone_new_identifier() which returns the UTC time zone
+if @identifier could not be parsed or loaded.
+
+If you need to check whether @identifier was loaded successfully, use
+g_time_zone_new_identifier().</doc>
+ <doc-deprecated xml:space="preserve">Use g_time_zone_new_identifier() instead, as it provides
+ error reporting. Change your code to handle a potentially %NULL return
+ value.</doc-deprecated>
<return-value transfer-ownership="full">
<doc xml:space="preserve">the requested timezone</doc>
<type name="TimeZone" c:type="GTimeZone*"/>
You should release the return value by calling g_time_zone_unref()
when you are done with it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the local timezone</doc>
<type name="TimeZone" c:type="GTimeZone*"/>
This is equivalent to calling g_time_zone_new() with a string in the form
`[+|-]hh[:mm[:ss]]`.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a timezone at the given offset from UTC</doc>
<type name="TimeZone" c:type="GTimeZone*"/>
You should release the return value by calling g_time_zone_unref()
when you are done with it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the universal timezone</doc>
<type name="TimeZone" c:type="GTimeZone*"/>
requested on March 14th 2010 in Toronto then this function would
adjust @time_ to be 03:00 and return the interval containing the
adjusted time.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the interval containing @time_, never -1</doc>
<type name="gint" c:type="gint"/>
example, 02:00 on March 14th 2010 does not exist (due to the leap
forward to begin daylight savings time). -1 is returned in that
case.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the interval containing @time_, or -1 in case of failure</doc>
<type name="gint" c:type="gint"/>
For example, in Toronto this is currently "EST" during the winter
months and "EDT" during the summer months when daylight savings time
is in effect.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the time zone abbreviation, which belongs to @tz</doc>
<type name="utf8" c:type="const gchar*"/>
The identifier will be returned in the same format as provided at
construction time: if provided as a time offset, that will be returned by
this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">identifier for this timezone</doc>
<type name="utf8" c:type="const gchar*"/>
The offset is the number of seconds that you add to UTC time to
arrive at local time for @tz (ie: negative numbers for time zones
west of GMT, positive numbers for east).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of seconds that should be added to UTC to get the
local time in @tz</doc>
<method name="is_dst" c:identifier="g_time_zone_is_dst" version="2.26">
<doc xml:space="preserve">Determines if daylight savings time is in effect during a particular
@interval of time in the time zone @tz.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if daylight savings time is in effect</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="ref" c:identifier="g_time_zone_ref" version="2.26">
<doc xml:space="preserve">Increases the reference count on @tz.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to @tz.</doc>
<type name="TimeZone" c:type="GTimeZone*"/>
</method>
<method name="unref" c:identifier="g_time_zone_unref" version="2.26">
<doc xml:space="preserve">Decreases the reference count on @tz.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<record name="Timer" c:type="GTimer" disguised="1">
<doc xml:space="preserve">Opaque datatype that records a start time.</doc>
-
<method name="continue" c:identifier="g_timer_continue" version="2.4">
<doc xml:space="preserve">Resumes a timer that has previously been stopped with
g_timer_stop(). g_timer_stop() must be called before using this
function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="destroy" c:identifier="g_timer_destroy">
<doc xml:space="preserve">Destroys a timer, freeing associated resources.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
stopped. The return value is the number of seconds elapsed,
including any fractional part. The @microseconds out parameter is
essentially useless.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">seconds elapsed as a floating point value, including any
fractional part.</doc>
</method>
<method name="is_active" c:identifier="g_timer_is_active" version="2.62">
<doc xml:space="preserve">Exposes whether the timer is currently active.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the timer is running, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">This function is useless; it's fine to call g_timer_start() on an
already-started timer to reset the start time, so g_timer_reset()
serves no purpose.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
report the time since g_timer_start() was called. g_timer_new()
automatically marks the start time, so no need to call
g_timer_start() immediately after creating the timer.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="stop" c:identifier="g_timer_stop">
<doc xml:space="preserve">Marks an end time, so calls to g_timer_elapsed() will return the
difference between this end time and the start time.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="new" c:identifier="g_timer_new" introspectable="0">
<doc xml:space="preserve">Creates a new timer, and starts timing (i.e. g_timer_start() is
implicitly called for you).</doc>
-
<return-value>
<doc xml:space="preserve">a new #GTimer.</doc>
<type name="Timer" c:type="GTimer*"/>
<enumeration name="TokenType" c:type="GTokenType">
<doc xml:space="preserve">The possible types of token returned from each
g_scanner_get_next_token() call.</doc>
-
<member name="eof" value="0" c:identifier="G_TOKEN_EOF">
<doc xml:space="preserve">the end of the file</doc>
</member>
</enumeration>
<union name="TokenValue" c:type="GTokenValue">
<doc xml:space="preserve">A union holding the value of the token.</doc>
-
<field name="v_symbol" writable="1">
<doc xml:space="preserve">token symbol value</doc>
<type name="gpointer" c:type="gpointer"/>
<callback name="TranslateFunc" c:type="GTranslateFunc">
<doc xml:space="preserve">The type of functions which are used to translate user-visible
strings, for <option>--help</option> output.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a translation of the string for the current locale.
The returned string is owned by GLib and must not be freed.</doc>
<doc xml:space="preserve">Each piece of memory that is pushed onto the stack
is cast to a GTrashStack*.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<field name="next" writable="1">
<doc xml:space="preserve">pointer to the previous element of the stack,
gets stored in the first `sizeof (gpointer)`
Note that execution of this function is of O(N) complexity
where N denotes the number of items on the stack.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the height of the stack</doc>
<type name="guint" c:type="guint"/>
<doc xml:space="preserve">Returns the element at the top of a #GTrashStack
which may be %NULL.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the element at the top of the stack</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="pop" c:identifier="g_trash_stack_pop" deprecated="1" deprecated-version="2.48">
<doc xml:space="preserve">Pops a piece of memory off a #GTrashStack.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the element at the top of the stack</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="push" c:identifier="g_trash_stack_push" deprecated="1" deprecated-version="2.48">
<doc xml:space="preserve">Pushes a piece of memory onto a #GTrashStack.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<bitfield name="TraverseFlags" c:type="GTraverseFlags">
<doc xml:space="preserve">Specifies which nodes are visited during several of the tree
functions, including g_node_traverse() and g_node_find().</doc>
-
<member name="leaves" value="1" c:identifier="G_TRAVERSE_LEAVES">
<doc xml:space="preserve">only leaf nodes should be visited. This name has
been introduced in 2.6, for older version use
passed the key and value of each node, together with the @user_data
parameter passed to g_tree_traverse(). If the function returns
%TRUE, the traversal is stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE to stop the traversal</doc>
<type name="gboolean" c:type="gboolean"/>

- Level order: F, B, G, A, D, I, C, E, H
</doc>
-
<member name="in_order" value="0" c:identifier="G_IN_ORDER">
<doc xml:space="preserve">vists a node's left child first, then the node itself,
then its right child. This is the one to use if you
<doc xml:space="preserve">The GTree struct is an opaque data structure representing a
[balanced binary tree][glib-Balanced-Binary-Trees]. It should be
accessed only by using the following functions.</doc>
-
<method name="destroy" c:identifier="g_tree_destroy">
<doc xml:space="preserve">Removes all keys and values from the #GTree and decreases its
reference count by one. If keys and/or values are dynamically
using g_tree_new_full(). In the latter case the destroy functions
you supplied will be called on all keys and values before destroying
the #GTree.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
add/remove items). To remove all items matching a predicate, you need
to add each item to a list in your #GTraverseFunc as you walk over
the tree, then walk the list and remove each item.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the #GTree contains no nodes, the height is 0.
If the #GTree contains only one root node the height is 1.
If the root node has children the height is 2, etc.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the height of @tree</doc>
<type name="gint" c:type="gint"/>
<method name="insert" c:identifier="g_tree_insert">
<doc xml:space="preserve">Inserts a key/value pair into a #GTree.
-If the given key already exists in the #GTree its corresponding value
-is set to the new value. If you supplied a @value_destroy_func when
-creating the #GTree, the old value is freed using that function. If
-you supplied a @key_destroy_func when creating the #GTree, the passed
-key is freed using that function.
-
-The tree is automatically 'balanced' as new key/value pairs are added,
-so that the distance from the root to every leaf is as small as possible.
-The cost of maintaining a balanced tree while inserting new key/value
-result in a O(n log(n)) operation where most of the other operations
-are O(log(n)).</doc>
-
+Inserts a new key and value into a #GTree as g_tree_insert_node() does,
+only this function does not return the inserted or set node.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Gets the value corresponding to the given key. Since a #GTree is
automatically balanced as key/value pairs are added, key lookup
is O(log n) (where n is the number of key/value pairs in the tree).</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the value corresponding to the key, or %NULL
if the key was not found</doc>
associated value. This is useful if you need to free the memory
allocated for the original key, for example before calling
g_tree_remove().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found in the #GTree</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="nnodes" c:identifier="g_tree_nnodes">
<doc xml:space="preserve">Gets the number of nodes in a #GTree.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of nodes in @tree</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">Increments the reference count of @tree by one.
It is safe to call this function from any thread.</doc>
-
<return-value>
<doc xml:space="preserve">the passed in #GTree</doc>
<type name="Tree" c:type="GTree*"/>
The cost of maintaining a balanced tree while removing a key/value
result in a O(n log(n)) operation where most of the other operations
are O(log(n)).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found (prior to 2.8, this function
returned nothing)</doc>
</parameters>
</method>
<method name="replace" c:identifier="g_tree_replace">
- <doc xml:space="preserve">Inserts a new key and value into a #GTree similar to g_tree_insert().
-The difference is that if the key already exists in the #GTree, it gets
-replaced by the new key. If you supplied a @value_destroy_func when
-creating the #GTree, the old value is freed using that function. If you
-supplied a @key_destroy_func when creating the #GTree, the old key is
-freed using that function.
-
-The tree is automatically 'balanced' as new key/value pairs are added,
-so that the distance from the root to every leaf is as small as possible.</doc>
-
+ <doc xml:space="preserve">Inserts a new key and value into a #GTree as g_tree_replace_node() does,
+only this function does not return the inserted or set node.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
will proceed among the key/value pairs that have a smaller key; if
@search_func returns 1, searching will proceed among the key/value
pairs that have a larger key.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the value corresponding to the found key, or %NULL
if the key was not found</doc>
the key and value destroy functions.
If the key does not exist in the #GTree, the function does nothing.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found (prior to 2.8, this function
returned nothing)</doc>
If you just want to visit all nodes in sorted order, use
g_tree_foreach() instead. If you really need to visit nodes in
a different order, consider using an [n-ary tree][glib-N-ary-Trees].</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
memory allocated by @tree will be released.
It is safe to call this function from any thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<function name="new" c:identifier="g_tree_new" introspectable="0">
<doc xml:space="preserve">Creates a new #GTree.</doc>
-
<return-value>
<doc xml:space="preserve">a newly allocated #GTree</doc>
<type name="Tree" c:type="GTree*"/>
<doc xml:space="preserve">Creates a new #GTree like g_tree_new() and allows to specify functions
to free the memory allocated for the key and value that get called when
removing the entry from the #GTree.</doc>
-
<return-value>
<doc xml:space="preserve">a newly allocated #GTree</doc>
<type name="Tree" c:type="GTree*"/>
<function name="new_with_data" c:identifier="g_tree_new_with_data" introspectable="0">
<doc xml:space="preserve">Creates a new #GTree with a comparison function that accepts user data.
See g_tree_new() for more details.</doc>
-
<return-value>
<doc xml:space="preserve">a newly allocated #GTree</doc>
<type name="Tree" c:type="GTree*"/>
<doc xml:space="preserve">This macro can be used to mark a function declaration as unavailable.
It must be placed before the function declaration. Use of a function
that has been annotated with this macros will produce a compiler warning.</doc>
-
<parameters>
<parameter name="maj">
<doc xml:space="preserve">the major version that introduced the symbol</doc>
</parameters>
</function-macro>
<function-macro name="UNAVAILABLE_ENUMERATOR" c:identifier="GLIB_UNAVAILABLE_ENUMERATOR" introspectable="0">
-
<parameters>
<parameter name="maj">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNAVAILABLE_MACRO" c:identifier="GLIB_UNAVAILABLE_MACRO" introspectable="0">
-
<parameters>
<parameter name="maj">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNAVAILABLE_STATIC_INLINE" c:identifier="GLIB_UNAVAILABLE_STATIC_INLINE" introspectable="0">
-
<parameters>
<parameter name="maj">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNAVAILABLE_TYPE" c:identifier="GLIB_UNAVAILABLE_TYPE" introspectable="0">
-
<parameters>
<parameter name="maj">
</parameter>
decomposition of a single Unicode character.
This is as defined by Unicode 6.1.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="UNLIKELY" c:identifier="G_UNLIKELY" version="2.2" introspectable="0">
if (G_UNLIKELY (random () == 1))
g_print ("a random one");
]|</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression</doc>
<function-macro name="UNLOCK" c:identifier="G_UNLOCK" introspectable="0">
<doc xml:space="preserve">Works like g_mutex_unlock(), but for a lock defined with
#G_LOCK_DEFINE.</doc>
-
<parameters>
<parameter name="name">
<doc xml:space="preserve">the name of the lock</doc>
<constant name="URI_RESERVED_CHARS_GENERIC_DELIMITERS" value=":/?#[]@" c:type="G_URI_RESERVED_CHARS_GENERIC_DELIMITERS" version="2.16">
<doc xml:space="preserve">Generic delimiters characters as defined in
[RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `:/?#[]@`.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS" value="!$&'()*+,;=" c:type="G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS" version="2.16">
<doc xml:space="preserve">Subcomponent delimiter characters as defined in
[RFC 3986](https://tools.ietf.org/html/rfc3986). Includes `!$&'()*+,;=`.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="USEC_PER_SEC" value="1000000" c:type="G_USEC_PER_SEC">
<doc xml:space="preserve">Number of microseconds in one second (1 million).
This macro is provided for code readability.</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<enumeration name="UnicodeBreakType" c:type="GUnicodeBreakType">
to handle unknown values. They may be regarded as %G_UNICODE_BREAK_UNKNOWN.
See [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/).</doc>
-
<member name="mandatory" value="0" c:identifier="G_UNICODE_BREAK_MANDATORY">
<doc xml:space="preserve">Mandatory Break (BK)</doc>
</member>
Note that new types may be added in the future. Applications
should be ready to handle unknown values.
See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr24/).</doc>
-
<member name="invalid_code" value="-1" c:identifier="G_UNICODE_SCRIPT_INVALID_CODE">
<doc xml:space="preserve">a value never returned from g_unichar_get_script()</doc>
</member>
<doc xml:space="preserve">These are the possible character classifications from the
Unicode specification.
See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Category_Values).</doc>
-
<member name="control" value="0" c:identifier="G_UNICODE_CONTROL">
<doc xml:space="preserve">General category "Other, Control" (Cc)</doc>
</member>
<callback name="UnixFDSourceFunc" c:type="GUnixFDSourceFunc">
<doc xml:space="preserve">The type of functions to be called when a UNIX fd watch source
triggers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if the source should be removed</doc>
<type name="gboolean" c:type="gboolean"/>
Note that there is no `g_uri_equal ()` function, because comparing
URIs usefully requires scheme-specific knowledge that #GUri does
-not have. For example, `http://example.com/` and
-`http://EXAMPLE.COM:80` have exactly the same meaning according
-to the HTTP specification, and `data:,foo` and
-`data:;base64,Zm9v` resolve to the same thing according to the
-`data:` URI specification.</doc>
-
+not have. #GUri can help with normalization if you use the various
+encoded #GUriFlags as well as %G_URI_FLAGS_SCHEME_NORMALIZE however
+it is not comprehensive.
+For example, `data:,foo` and `data:;base64,Zm9v` resolve to the same
+thing according to the `data:` URI specification which GLib does not
+handle.</doc>
<method name="get_auth_params" c:identifier="g_uri_get_auth_params" version="2.66">
<doc xml:space="preserve">Gets @uri's authentication parameters, which may contain
`%`-encoding, depending on the flags with which @uri was created.
Depending on the URI scheme, g_uri_parse_params() may be useful for
further parsing this information.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@uri's authentication parameters.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_flags" c:identifier="g_uri_get_flags" version="2.66">
<doc xml:space="preserve">Gets @uri's flags set upon construction.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@uri's flags.</doc>
<type name="UriFlags" c:type="GUriFlags"/>
<method name="get_fragment" c:identifier="g_uri_get_fragment" version="2.66">
<doc xml:space="preserve">Gets @uri's fragment, which may contain `%`-encoding, depending on
the flags with which @uri was created.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@uri's fragment.</doc>
<type name="utf8" c:type="const gchar*"/>
the string form of the URI. Note that in this case there may also
be a scope ID attached to the address. Eg, `fe80::1234%``em1` (or
`fe80::1234%``25em1` if the string is still encoded).</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@uri's host.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<doc xml:space="preserve">Gets @uri's password, which may contain `%`-encoding, depending on
the flags with which @uri was created. (If @uri was not created
with %G_URI_FLAGS_HAS_PASSWORD then this will be %NULL.)</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@uri's password.</doc>
<type name="utf8" c:type="const gchar*"/>
<method name="get_path" c:identifier="g_uri_get_path" version="2.66">
<doc xml:space="preserve">Gets @uri's path, which may contain `%`-encoding, depending on the
flags with which @uri was created.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@uri's path.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_port" c:identifier="g_uri_get_port" version="2.66">
<doc xml:space="preserve">Gets @uri's port.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@uri's port, or `-1` if no port was specified.</doc>
<type name="gint" c:type="gint"/>
For queries consisting of a series of `name=value` parameters,
#GUriParamsIter or g_uri_parse_params() may be useful.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@uri's query.</doc>
<type name="utf8" c:type="const gchar*"/>
<method name="get_scheme" c:identifier="g_uri_get_scheme" version="2.66">
<doc xml:space="preserve">Gets @uri's scheme. Note that this will always be all-lowercase,
regardless of the string or strings that @uri was created from.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@uri's scheme.</doc>
<type name="utf8" c:type="const gchar*"/>
`%`-encoding, depending on the flags with which @uri was created.
If @uri was not created with %G_URI_FLAGS_HAS_PASSWORD or
%G_URI_FLAGS_HAS_AUTH_PARAMS, this is the same as g_uri_get_userinfo().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@uri's user.</doc>
<type name="utf8" c:type="const gchar*"/>
<method name="get_userinfo" c:identifier="g_uri_get_userinfo" version="2.66">
<doc xml:space="preserve">Gets @uri's userinfo, which may contain `%`-encoding, depending on
the flags with which @uri was created.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@uri's userinfo.</doc>
<type name="utf8" c:type="const gchar*"/>
[relative URI][relative-absolute-uris], resolves it relative to @base_uri.
If the result is not a valid absolute URI, it will be discarded, and an error
returned.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GUri.</doc>
+ <doc xml:space="preserve">a new #GUri, or NULL on error.</doc>
<type name="Uri" c:type="GUri*"/>
</return-value>
<parameters>
</method>
<method name="ref" c:identifier="g_uri_ref" version="2.66" introspectable="0">
<doc xml:space="preserve">Increments the reference count of @uri by one.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@uri</doc>
<type name="Uri" c:type="GUri*"/>
If @uri might contain sensitive details, such as authentication parameters,
or private data in its query string, and the returned string is going to be
logged, then consider using g_uri_to_string_partial() to redact parts.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a string representing @uri, which the caller
- must free.</doc>
+ <doc xml:space="preserve">a string representing @uri,
+ which the caller must free.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
<method name="to_string_partial" c:identifier="g_uri_to_string_partial" version="2.66">
<doc xml:space="preserve">Returns a string representing @uri, subject to the options in
@flags. See g_uri_to_string() and #GUriHideFlags for more details.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a string representing @uri, which the caller
- must free.</doc>
+ <doc xml:space="preserve">a string representing
+ @uri, which the caller must free.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
When the reference count reaches zero, the resources allocated by
@uri are freed</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See also g_uri_build_with_user(), which allows specifying the
components of the "userinfo" separately.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUri</doc>
<type name="Uri" c:type="GUri*"/>
In contrast to g_uri_build(), this allows specifying the components
of the ‘userinfo’ field separately. Note that @user must be non-%NULL
if either @password or @auth_params is non-%NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUri</doc>
<type name="Uri" c:type="GUri*"/>
Though technically incorrect, this will also allow escaping nul
bytes as `%``00`.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an escaped version of @unescaped. The returned
- string should be freed when no longer needed.</doc>
+ <doc xml:space="preserve">an escaped version of @unescaped.
+ The returned string should be freed when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
they are not escaped. This is useful for the "reserved" characters
in the URI specification, since those are allowed unescaped in some
portions of a URI.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an escaped version of @unescaped. The returned string
-should be freed when no longer needed.</doc>
+ <doc xml:space="preserve">an escaped version of @unescaped. The
+returned string should be freed when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
See g_uri_split(), and the definition of #GUriFlags, for more
information on the effect of @flags.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @uri_string is a valid absolute URI, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
%G_URI_FLAGS_HAS_PASSWORD and %G_URI_FLAGS_HAS_AUTH_PARAMS are ignored if set
in @flags.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an absolute URI string</doc>
<type name="utf8" c:type="gchar*"/>
%G_URI_FLAGS_HAS_PASSWORD and %G_URI_FLAGS_HAS_AUTH_PARAMS are ignored if set
in @flags.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an absolute URI string</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">Splits an URI list conforming to the text/uri-list
mime type defined in RFC 2483 into individual URIs,
discarding any comments. The URIs are not validated.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated %NULL-terminated list
of strings holding the individual URIs. The array should be freed
<doc xml:space="preserve">Parses @uri_string according to @flags. If the result is not a
valid [absolute URI][relative-absolute-uris], it will be discarded, and an
error returned.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GUri.</doc>
+ <doc xml:space="preserve">a new #GUri, or NULL on error.</doc>
<type name="Uri" c:type="GUri*"/>
</return-value>
<parameters>
If @params cannot be parsed (for example, it contains two @separators
characters in a row), then @error is set and %NULL is returned.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A hash table of
- attribute/value pairs, with both names and values fully-decoded; or %NULL
- on error.</doc>
+ <doc xml:space="preserve">
+ A hash table of attribute/value pairs, with both names and values
+ fully-decoded; or %NULL on error.</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="utf8"/>
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
]|
Common schemes include `file`, `https`, `svn+ssh`, etc.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The ‘scheme’ component of the URI, or
%NULL on error. The returned string should be freed when no longer needed.</doc>
Unlike g_uri_parse_scheme(), the returned scheme is normalized to
all-lowercase and does not need to be freed.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The ‘scheme’ component of the URI, or
%NULL on error. The returned string is normalized to all-lowercase, and
(If @base_uri_string is %NULL, this just returns @uri_ref, or
%NULL if @uri_ref is invalid or not absolute.)</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the resolved URI string.</doc>
+ <doc xml:space="preserve">the resolved URI string,
+or NULL on error.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
%G_URI_FLAGS_HAS_AUTH_PARAMS @flags are ignored by g_uri_split(),
since it always returns only the full userinfo; use
g_uri_split_with_user() if you want it split up.</doc>
-
<return-value transfer-ownership="none" skip="1">
<doc xml:space="preserve">%TRUE if @uri_ref parsed successfully, %FALSE
on error.</doc>
mostly a wrapper around that function with simpler arguments.
However, it will return an error if @uri_string is a relative URI,
or does not contain a hostname component.</doc>
-
<return-value transfer-ownership="none" skip="1">
<doc xml:space="preserve">%TRUE if @uri_string parsed successfully,
%FALSE on error.</doc>
be parsed out if @flags contains %G_URI_FLAGS_HAS_PASSWORD, and
@auth_params will only be parsed out if @flags contains
%G_URI_FLAGS_HAS_AUTH_PARAMS.</doc>
-
<return-value transfer-ownership="none" skip="1">
<doc xml:space="preserve">%TRUE if @uri_ref parsed successfully, %FALSE
on error.</doc>
returned. This is useful if you want to avoid for instance having a slash
being expanded in an escaped path element, which might confuse pathname
handling.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an unescaped version of @escaped_string or %NULL on
- error (if decoding failed, using %G_URI_ERROR_FAILED error code). The
- returned #GBytes should be unreffed when no longer needed.</doc>
+ <doc xml:space="preserve">an unescaped version of @escaped_string
+ or %NULL on error (if decoding failed, using %G_URI_ERROR_FAILED error
+ code). The returned #GBytes should be unreffed when no longer needed.</doc>
<type name="Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
Note: `NUL` byte is not accepted in the output, in contrast to
g_uri_unescape_bytes().</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">an unescaped version of @escaped_string or %NULL on error.
-The returned string should be freed when no longer needed. As a
-special case if %NULL is given for @escaped_string, this function
-will return %NULL.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">an unescaped version of @escaped_string,
+or %NULL on error. The returned string should be freed when no longer
+needed. As a special case if %NULL is given for @escaped_string, this
+function will return %NULL.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
that is an error and %NULL will be returned. This is useful if you
want to avoid for instance having a slash being expanded in an
escaped path element, which might confuse pathname handling.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">an unescaped version of @escaped_string. The returned string
-should be freed when no longer needed.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">an unescaped version of @escaped_string.
+The returned string should be freed when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
</parameters>
</function>
</record>
- <enumeration name="UriError" version="2.66" c:type="GUriError" glib:error-domain="g-uri-error-quark">
+ <enumeration name="UriError" version="2.66" c:type="GUriError" glib:error-domain="g-uri-quark">
<doc xml:space="preserve">Error codes returned by #GUri methods.</doc>
-
<member name="failed" value="0" c:identifier="G_URI_ERROR_FAILED">
<doc xml:space="preserve">Generic error if no more specific error is available.
See the error message for details.</doc>
the type of URI, you can use g_uri_peek_scheme() on the URI string
to check the scheme first, and use that to decide what flags to
parse it with.</doc>
-
<member name="none" value="0" c:identifier="G_URI_FLAGS_NONE">
<doc xml:space="preserve">No flags set.</doc>
</member>
g_uri_to_string_partial(). Note that %G_URI_HIDE_PASSWORD and
%G_URI_HIDE_AUTH_PARAMS will only work if the #GUri was parsed with
the corresponding flags.</doc>
-
<member name="none" value="0" c:identifier="G_URI_HIDE_NONE">
<doc xml:space="preserve">No flags set.</doc>
</member>
<bitfield name="UriParamsFlags" version="2.66" c:type="GUriParamsFlags">
<doc xml:space="preserve">Flags modifying the way parameters are handled by g_uri_parse_params() and
#GUriParamsIter.</doc>
-
<member name="none" value="0" c:identifier="G_URI_PARAMS_NONE">
<doc xml:space="preserve">No flags set.</doc>
</member>
structures are typically allocated on the stack and then initialized with
g_uri_params_iter_init(). See the documentation for g_uri_params_iter_init()
for a usage example.</doc>
-
<field name="dummy0" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
if (error)
// handle parsing error
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that the same @attribute may be returned multiple times, since URIs
allow repeated attributes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if the end of the parameters has been reached or an error was
encountered. %TRUE otherwise.</doc>
The #GUserDirectory enumeration can be extended at later date. Not
every platform has a directory for every logical id in this
enumeration.</doc>
-
<member name="directory_desktop" value="0" c:identifier="G_USER_DIRECTORY_DESKTOP">
<doc xml:space="preserve">the user's Desktop directory</doc>
</member>
|[
g_auto(GVariantBuilder) builder = G_VARIANT_BUILDER_INIT (G_VARIANT_TYPE_BYTESTRING);
]|</doc>
-
<parameters>
<parameter name="variant_type">
<doc xml:space="preserve">a const GVariantType*</doc>
g_autoptr(GVariant) variant = get_asv_variant ();
g_auto(GVariantDict) dict = G_VARIANT_DICT_INIT (variant);
]|</doc>
-
<parameters>
<parameter name="asv">
<doc xml:space="preserve">a GVariant*</doc>
check if the string is valid.
Since 2.24</doc>
-
<parameters>
<parameter name="type_string">
<doc xml:space="preserve">a well-formed #GVariantType type string</doc>
In order to use this function, you must include string.h yourself,
because this macro may use memmove() and GLib does not include
string.h for you.</doc>
-
<parameters>
<parameter name="ap1">
<doc xml:space="preserve">the va_list variable to place a copy of @ap2 in</doc>
</parameters>
</function-macro>
<constant name="VA_COPY_AS_ARRAY" value="1" c:type="G_VA_COPY_AS_ARRAY">
-
<type name="gint" c:type="gint"/>
</constant>
<constant name="VERSION_MIN_REQUIRED" value="2" c:type="GLIB_VERSION_MIN_REQUIRED" version="2.32">
functions, then using functions that were deprecated in version
%GLIB_VERSION_MIN_REQUIRED or earlier will cause warnings (but
using functions deprecated in later releases will not).</doc>
-
<type name="gint" c:type="gint"/>
</constant>
<record name="Variant" c:type="GVariant" version="2.24" glib:type-name="GVariant" glib:get-type="intern" c:symbol-prefix="variant">
its type nor its content can be modified further.
GVariant is useful whenever data needs to be serialized, for example when
-sending method parameters in DBus, or when saving settings using GSettings.
+sending method parameters in D-Bus, or when saving settings using GSettings.
When creating a new #GVariant, you pass the data you want to store in it
along with a string representing the type of data you wish to pass to it.
would use more memory for the serialised data and buffer
management for those dictionaries, but the type information would
be shared.</doc>
-
<constructor name="new" c:identifier="g_variant_new" version="2.24" introspectable="0">
<doc xml:space="preserve">Creates a new #GVariant instance.
(guint64) some_flags,
some_strings);
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new floating #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
If the @children are floating references (see g_variant_ref_sink()), the
new instance takes ownership of them as if via g_variant_ref_sink().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new #GVariant array</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_boolean" c:identifier="g_variant_new_boolean" version="2.24">
<doc xml:space="preserve">Creates a new boolean #GVariant instance -- either %TRUE or %FALSE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new boolean #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_byte" c:identifier="g_variant_new_byte" version="2.24">
<doc xml:space="preserve">Creates a new byte #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new byte #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
The nul terminator character at the end of the string is stored in
the array.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new bytestring #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
strings.
If @length is -1 then @strv is %NULL-terminated.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new floating #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
If the @key or @value are floating references (see g_variant_ref_sink()),
the new instance takes ownership of them as if via g_variant_ref_sink().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new dictionary entry #GVariant</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_double" c:identifier="g_variant_new_double" version="2.24">
<doc xml:space="preserve">Creates a new double #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new double #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
expectation.
@n_elements must be the length of the @elements array.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new array #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
The data in @bytes must be aligned appropriately for the @type being loaded.
Otherwise this function will internally create a copy of the memory (since
GLib 2.60) or (in older versions) fail and exit the process.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new #GVariant with a floating reference</doc>
<type name="Variant" c:type="GVariant*"/>
@type being loaded. Otherwise this function will internally create a copy of
the memory (since GLib 2.60) or (in older versions) fail and exit the
process.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new floating #GVariant of type @type</doc>
<type name="Variant" c:type="GVariant*"/>
By convention, handles are indexes into an array of file descriptors
that are sent alongside a D-Bus message. If you're not interacting
with D-Bus, you probably don't need them.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new handle #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_int16" c:identifier="g_variant_new_int16" version="2.24">
<doc xml:space="preserve">Creates a new int16 #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new int16 #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_int32" c:identifier="g_variant_new_int32" version="2.24">
<doc xml:space="preserve">Creates a new int32 #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new int32 #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_int64" c:identifier="g_variant_new_int64" version="2.24">
<doc xml:space="preserve">Creates a new int64 #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new int64 #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
If @child is a floating reference (see g_variant_ref_sink()), the new
instance takes ownership of @child.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new #GVariant maybe instance</doc>
<type name="Variant" c:type="GVariant*"/>
<doc xml:space="preserve">Creates a D-Bus object path #GVariant with the contents of @string.
@string must be a valid D-Bus object path. Use
g_variant_is_object_path() if you're not sure.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new object path #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
g_variant_is_object_path().
If @length is -1 then @strv is %NULL-terminated.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new floating #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
#GVariant pointer from the argument list. ie: @format may not solely
be anything along the lines of "%*", "%?", "\%r", or anything starting
with "%@".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new floating #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
At this point, the caller will have their own full reference to the
result. This can also be done by adding the result to a container,
or by passing it to another g_variant_new() call.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, usually floating, #GVariant</doc>
<type name="Variant" c:type="GVariant*"/>
This is similar to calling g_strdup_printf() and then
g_variant_new_string() but it saves a temporary variable and an
unnecessary copy.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new string
#GVariant instance</doc>
<doc xml:space="preserve">Creates a D-Bus type signature #GVariant with the contents of
@string. @string must be a valid D-Bus type signature. Use
g_variant_is_signature() if you're not sure.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new signature #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
@string must be valid UTF-8, and must not be %NULL. To encode
potentially-%NULL strings, use g_variant_new() with `ms` as the
[format string][gvariant-format-strings-maybe-types].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new string #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
strings.
If @length is -1 then @strv is %NULL-terminated.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new floating #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
You must not modify or access @string in any other way after passing
it to this function. It is even possible that @string is immediately
freed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new string
#GVariant instance</doc>
If the @children are floating references (see g_variant_ref_sink()), the
new instance takes ownership of them as if via g_variant_ref_sink().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new #GVariant tuple</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_uint16" c:identifier="g_variant_new_uint16" version="2.24">
<doc xml:space="preserve">Creates a new uint16 #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new uint16 #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_uint32" c:identifier="g_variant_new_uint32" version="2.24">
<doc xml:space="preserve">Creates a new uint32 #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new uint32 #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
</constructor>
<constructor name="new_uint64" c:identifier="g_variant_new_uint64" version="2.24">
<doc xml:space="preserve">Creates a new uint64 #GVariant instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new uint64 #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
At this point, the caller will have their own full reference to the
result. This can also be done by adding the result to a container,
or by passing it to another g_variant_new() call.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, usually floating, #GVariant</doc>
<type name="Variant" c:type="GVariant*"/>
If @child is a floating reference (see g_variant_ref_sink()), the new
instance takes ownership of @child.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a floating reference to a new variant #GVariant instance</doc>
<type name="Variant" c:type="GVariant*"/>
bytes and containers containing only these things (recursively).
The returned value is always in normal form and is marked as trusted.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the byteswapped form of @value</doc>
<type name="Variant" c:type="GVariant*"/>
This function is meant to be used by functions that wish to provide
varargs accessors to #GVariant values of uncertain values (eg:
g_variant_lookup() or g_menu_model_get_item_attribute()).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @format_string is safe to use</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="classify" c:identifier="g_variant_classify" version="2.24">
<doc xml:space="preserve">Classifies @value according to its top-level type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GVariantClass of @value</doc>
<type name="VariantClass" c:type="GVariantClass"/>
If you only require an equality comparison, g_variant_equal() is more
general.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">negative value if a < b;
zero if a = b;
returning a constant string, the string is duplicated.
The return value must be freed using g_free().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
a newly allocated string</doc>
For an empty array, @length will be set to 0 and a pointer to a
%NULL pointer will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an array of strings</doc>
<array length="0" zero-terminated="0" c:type="gchar**">
For an empty array, @length will be set to 0 and a pointer to a
%NULL pointer will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an array of strings</doc>
<array length="0" zero-terminated="1" c:type="gchar**">
The string will always be UTF-8 encoded.
The return value must be freed using g_free().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string, UTF-8 encoded</doc>
<type name="utf8" c:type="gchar*"/>
For an empty array, @length will be set to 0 and a pointer to a
%NULL pointer will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an array of strings</doc>
<array length="0" zero-terminated="1" c:type="gchar**">
The types of @one and @two are #gconstpointer only to allow use of
this function with #GHashTable. They must each be a #GVariant.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @one and @two are equal</doc>
<type name="gboolean" c:type="gboolean"/>
the values and also determines if the values are copied or borrowed,
see the section on
[GVariant format strings][gvariant-format-strings-pointers].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_BOOLEAN.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE or %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_BYTE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint8</doc>
<type name="guint8" c:type="guint8"/>
array of bytes.
The return value remains valid as long as @value exists.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">
the constant string</doc>
For an empty array, @length will be set to 0 and a pointer to a
%NULL pointer will be returned.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">an array of constant strings</doc>
<array length="0" zero-terminated="0" c:type="const gchar**">
the values and also determines if the values are copied or borrowed,
see the section on
[GVariant format strings][gvariant-format-strings-pointers].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
nesting up to at least 64 levels.
This function is O(1).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the child at the specified index</doc>
<type name="Variant" c:type="GVariant*"/>
%G_VARIANT_TYPE_VARIANT and it is always in little-endian order") or
explicitly (by storing the type and/or endianness in addition to the
serialised data).</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the serialised form of @value, or %NULL</doc>
<type name="gpointer" c:type="gconstpointer"/>
The semantics of this function are exactly the same as
g_variant_get_data(), except that the returned #GBytes holds
a reference to the variant data.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A new #GBytes representing the variant data</doc>
<type name="Bytes" c:type="GBytes*"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_DOUBLE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gdouble</doc>
<type name="gdouble" c:type="gdouble"/>
@n_elements, which must be non-%NULL, is set equal to the number of
items in the array.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a pointer to
the fixed array</doc>
By convention, handles are indexes into an array of file descriptors
that are sent alongside a D-Bus message. If you're not interacting
with D-Bus, you probably don't need them.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gint32</doc>
<type name="gint32" c:type="gint32"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_INT16.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gint16</doc>
<type name="gint16" c:type="gint16"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_INT32.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gint32</doc>
<type name="gint32" c:type="gint32"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_INT64.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gint64</doc>
<type name="gint64" c:type="gint64"/>
<method name="get_maybe" c:identifier="g_variant_get_maybe" version="2.24">
<doc xml:space="preserve">Given a maybe-typed #GVariant instance, extract its value. If the
value is Nothing, then this function returns %NULL.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the contents of @value, or %NULL</doc>
<type name="Variant" c:type="GVariant*"/>
reference. Typically, g_variant_take_ref() should be called on the return
value from this function to guarantee ownership of a single non-floating
reference to it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a trusted #GVariant</doc>
<type name="Variant" c:type="GVariant*"/>
For an empty array, @length will be set to 0 and a pointer to a
%NULL pointer will be returned.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">an array of constant strings</doc>
<array length="0" zero-terminated="1" c:type="const gchar**">
then this function is O(1). Otherwise, the size is calculated, an
operation which is approximately O(n) in the number of values
involved.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the serialised size of @value</doc>
<type name="gsize" c:type="gsize"/>
other than those three.
The return value remains valid as long as @value exists.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the constant string, UTF-8 encoded</doc>
<type name="utf8" c:type="const gchar*"/>
For an empty array, @length will be set to 0 and a pointer to a
%NULL pointer will be returned.</doc>
-
<return-value transfer-ownership="container">
<doc xml:space="preserve">an array of constant strings</doc>
<array length="0" zero-terminated="1" c:type="const gchar**">
The return value is valid for the lifetime of @value and must not
be freed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GVariantType</doc>
<type name="VariantType" c:type="const GVariantType*"/>
<doc xml:space="preserve">Returns the type string of @value. Unlike the result of calling
g_variant_type_peek_string(), this string is nul-terminated. This
string belongs to #GVariant and must not be freed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the type string for the type of @value</doc>
<type name="utf8" c:type="const gchar*"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_UINT16.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint16</doc>
<type name="guint16" c:type="guint16"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_UINT32.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint32</doc>
<type name="guint32" c:type="guint32"/>
It is an error to call this function with a @value of any type
other than %G_VARIANT_TYPE_UINT64.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint64</doc>
<type name="guint64" c:type="guint64"/>
the values and also determines if the values are copied or borrowed,
see the section on
[GVariant format strings][gvariant-format-strings-pointers].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="get_variant" c:identifier="g_variant_get_variant" version="2.24">
<doc xml:space="preserve">Unboxes @value. The result is the #GVariant instance that was
contained in @value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the item contained in the variant</doc>
<type name="Variant" c:type="GVariant*"/>
The type of @value is #gconstpointer only to allow use of this
function with #GHashTable. @value must be a #GVariant.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a hash value corresponding to @value</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="is_container" c:identifier="g_variant_is_container" version="2.24">
<doc xml:space="preserve">Checks if @value is a container.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @value is a container</doc>
<type name="gboolean" c:type="gboolean"/>
See g_variant_ref_sink() for more information about floating reference
counts.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @value is floating</doc>
<type name="gboolean" c:type="gboolean"/>
There may be implementation specific restrictions on deeply nested values.
GVariant is guaranteed to handle nesting up to at least 64 levels.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @value is in normal form</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_of_type" c:identifier="g_variant_is_of_type" version="2.24">
<doc xml:space="preserve">Checks if a value has a type matching the provided type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the type of @value matches @type</doc>
<type name="gboolean" c:type="gboolean"/>
A reference is taken to @value and will be released only when
g_variant_iter_free() is called.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new heap-allocated #GVariantIter</doc>
<type name="VariantIter" c:type="GVariantIter*"/>
This function is currently implemented with a linear scan. If you
plan to do many lookups then #GVariantDict may be more efficient.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a value was unpacked</doc>
<type name="gboolean" c:type="gboolean"/>
This function is currently implemented with a linear scan. If you
plan to do many lookups then #GVariantDict may be more efficient.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the value of the dictionary key, or %NULL</doc>
<type name="Variant" c:type="GVariant*"/>
only on the type). For dictionary entries, it is always 2
This function is O(1).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of children in the container</doc>
<type name="gsize" c:type="gsize"/>
If @type_annotate is %TRUE, then type information is included in
the output.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string holding the result.</doc>
<type name="utf8" c:type="gchar*"/>
If @string is non-%NULL then it is appended to and returned. Else,
a new empty #GString is allocated and it is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GString containing the string</doc>
<type name="String" c:type="GString*"/>
</method>
<method name="ref" c:identifier="g_variant_ref" version="2.24">
<doc xml:space="preserve">Increases the reference count of @value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the same @value</doc>
<type name="Variant" c:type="GVariant*"/>
makes certain common styles of programming much easier while still
maintaining normal refcounting semantics in situations where values
are not floating.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the same @value</doc>
<type name="Variant" c:type="GVariant*"/>
machine might be different) its endianness must also be available.
This function is approximately O(n) in the size of @data.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
be that the floating reference is converted to a hard reference and
an additional reference on top of that one is added. It is best to
avoid this situation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the same @value</doc>
<type name="Variant" c:type="GVariant*"/>
<method name="unref" c:identifier="g_variant_unref" version="2.24">
<doc xml:space="preserve">Decreases the reference count of @value. When its reference count
drops to 0, the memory used by the variant is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
sequences of characters separated by `/` characters. Each sequence
must contain only the characters `[A-Z][a-z][0-9]_`. No sequence
(including the one following the final `/` character) may be empty.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string is a D-Bus object path</doc>
<type name="gboolean" c:type="gboolean"/>
D-Bus type signatures consist of zero or more definite #GVariantType
strings in sequence.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string is a D-Bus type signature</doc>
<type name="gboolean" c:type="gboolean"/>
There may be implementation specific restrictions on deeply nested values,
which would result in a %G_VARIANT_PARSE_ERROR_RECURSION error. #GVariant is
guaranteed to handle nesting up to at least 64 levels.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-floating reference to a #GVariant, or %NULL</doc>
<type name="Variant" c:type="GVariant*"/>
If @source_str was not nul-terminated when you passed it to
g_variant_parse() then you must add nul termination before using this
function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the printed message</doc>
<type name="utf8" c:type="gchar*"/>
#GVariantBuilder is not threadsafe in any way. Do not attempt to
access it from more than one thread.</doc>
-
<union name="u" c:type="u">
-
<record name="s" c:type="s">
-
<field name="partial_magic" writable="1">
<type name="gsize" c:type="gsize"/>
</field>
In most cases it is easier to place a #GVariantBuilder directly on
the stack of the calling function and initialise it with
g_variant_builder_init().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GVariantBuilder</doc>
<type name="VariantBuilder" c:type="GVariantBuilder*"/>
return g_variant_builder_end (&builder);
}
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
return g_variant_builder_end (&builder);
}
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @value is a floating reference (see g_variant_ref_sink()),
the @builder instance takes ownership of @value.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is valid to call this function on either an initialised
#GVariantBuilder or one that is set to all-zeros but it is not valid
to call this function on uninitialised memory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is an error to call this function in any way that would create an
inconsistent value to be constructed (ie: too few values added to the
subcontainer).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
was created with an indefinite array or maybe type and no children
have been added; in this case it is impossible to infer the type of
the empty array.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new, floating, #GVariant</doc>
<type name="Variant" c:type="GVariant*"/>
should assume that the person receiving that reference may try to use
reference counting; you should use g_variant_builder_new() instead of
this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
output = g_variant_builder_end (&builder);
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Don't call this on stack-allocated #GVariantBuilder instances or bad
things will happen.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to @builder</doc>
<type name="VariantBuilder" c:type="GVariantBuilder*"/>
Don't call this on stack-allocated #GVariantBuilder instances or bad
things will happen.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<enumeration name="VariantClass" version="2.24" c:type="GVariantClass">
<doc xml:space="preserve">The range of possible top-level types of #GVariant instances.</doc>
-
<member name="boolean" value="98" c:identifier="G_VARIANT_CLASS_BOOLEAN">
<doc xml:space="preserve">The #GVariant is a boolean.</doc>
</member>
return result;
}
]|</doc>
-
<union name="u" c:type="u">
-
<record name="s" c:type="s">
-
<field name="asv" writable="1">
<type name="Variant" c:type="GVariant*"/>
</field>
the stack of the calling function and initialise it with
g_variant_dict_init(). This is particularly useful when you are
using #GVariantDict to construct a #GVariant.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GVariantDict</doc>
<type name="VariantDict" c:type="GVariantDict*"/>
#GVariantDict or one that was previously cleared by an earlier call
to g_variant_dict_clear() but it is not valid to call this function
on uninitialised memory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="contains" c:identifier="g_variant_dict_contains" version="2.40">
<doc xml:space="preserve">Checks if @key exists in @dict.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @key is in @dict</doc>
<type name="gboolean" c:type="gboolean"/>
for reference counting operations (in the case of a heap-allocated
#GVariantDict) or by reinitialising it with g_variant_dict_init() (in
the case of stack-allocated).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new, floating, #GVariant</doc>
<type name="Variant" c:type="GVariant*"/>
own code then you should assume that the person receiving that
reference may try to use reference counting; you should use
g_variant_dict_new() instead of this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This call is a convenience wrapper that is exactly equivalent to
calling g_variant_new() followed by g_variant_dict_insert_value().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Inserts (or replaces) a key in a #GVariantDict.
@value is consumed if it is floating.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@format_string determines the C types that are used for unpacking the
values and also determines if the values are copied or borrowed, see the
section on [GVariant format strings][gvariant-format-strings-pointers].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a value was unpacked</doc>
<type name="gboolean" c:type="gboolean"/>
If the key is found and the value has the correct type, it is
returned. If @expected_type was specified then any non-%NULL return
value will have this type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the value of the dictionary key, or %NULL</doc>
<type name="Variant" c:type="GVariant*"/>
Don't call this on stack-allocated #GVariantDict instances or bad
things will happen.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to @dict</doc>
<type name="VariantDict" c:type="GVariantDict*"/>
</method>
<method name="remove" c:identifier="g_variant_dict_remove" version="2.40">
<doc xml:space="preserve">Removes a key and its associated value from a #GVariantDict.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found and removed</doc>
<type name="gboolean" c:type="gboolean"/>
Don't call this on stack-allocated #GVariantDict instances or bad
things will happen.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="VariantIter" c:type="GVariantIter" introspectable="0">
<doc xml:space="preserve">#GVariantIter is an opaque data structure and can only be accessed
using the following functions.</doc>
-
<field name="x" readable="0" private="1">
<array zero-terminated="0" fixed-size="16">
<type name="gsize" c:type="gsize"/>
A reference is taken to the container that @iter is iterating over
and will be related only when g_variant_iter_free() is called.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new heap-allocated #GVariantIter</doc>
<type name="VariantIter" c:type="GVariantIter*"/>
<doc xml:space="preserve">Frees a heap-allocated #GVariantIter. Only call this function on
iterators that were returned by g_variant_iter_new() or
g_variant_iter_copy().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The iterator remains valid for as long as @value exists, and need not
be freed in any way.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items in @value</doc>
<type name="gsize" c:type="gsize"/>
See the section on
[GVariant format strings][gvariant-format-strings-pointers].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a value was unpacked, or %FALSE if there was no
value</doc>
of items remaining.
This function might be useful for preallocation of arrays.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of children in the container</doc>
<type name="gsize" c:type="gsize"/>
See the section on
[GVariant format strings][gvariant-format-strings-pointers].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a value was unpacked, or %FALSE if there as no value</doc>
<type name="gboolean" c:type="gboolean"/>
}
}
]|</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVariant, or %NULL</doc>
<type name="Variant" c:type="GVariant*"/>
</record>
<enumeration name="VariantParseError" c:type="GVariantParseError" glib:error-domain="g-variant-parse-error-quark">
<doc xml:space="preserve">Error codes returned by parsing text-format GVariants.</doc>
-
<member name="failed" value="0" c:identifier="G_VARIANT_PARSE_ERROR_FAILED">
<doc xml:space="preserve">generic error (unused)</doc>
</member>
Just as in D-Bus, GVariant types are described with strings ("type
strings"). Subject to the differences mentioned above, these strings
-are of the same form as those found in DBus. Note, however: D-Bus
+are of the same form as those found in D-Bus. Note, however: D-Bus
always works in terms of messages and therefore individual type
strings appear nowhere in its interface. Instead, "signatures"
are a concatenation of the strings of the type of each argument in a
so this type string corresponds to %G_VARIANT_TYPE_DICTIONARY. Note
that, due to the restriction that the key of a dictionary entry must
be a basic type, "{**}" is not a valid type string.</doc>
-
<constructor name="new" c:identifier="g_variant_type_new" version="2.24">
<doc xml:space="preserve">Creates a new #GVariantType corresponding to the type string given
by @type_string. It is appropriate to call g_variant_type_free() on
It is a programmer error to call this function with an invalid type
string. Use g_variant_type_string_is_valid() if you are unsure.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GVariantType</doc>
<type name="VariantType" c:type="GVariantType*"/>
type @type.
It is appropriate to call g_variant_type_free() on the return value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new array #GVariantType
of type @key and a value of type @value.
It is appropriate to call g_variant_type_free() on the return value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new dictionary entry #GVariantType
type @type or Nothing.
It is appropriate to call g_variant_type_free() on the return value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new maybe #GVariantType
@items is %NULL-terminated.
It is appropriate to call g_variant_type_free() on the return value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new tuple #GVariantType
<method name="copy" c:identifier="g_variant_type_copy">
<doc xml:space="preserve">Makes a copy of a #GVariantType. It is appropriate to call
g_variant_type_free() on the return value. @type may not be %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GVariantType
<doc xml:space="preserve">Returns a newly-allocated copy of the type string corresponding to
@type. The returned string is nul-terminated. It is appropriate to
call g_free() on the return value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the corresponding type string
<doc xml:space="preserve">Determines the element type of an array or maybe type.
This function may only be used with array or maybe types.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the element type of @type
The argument types of @type1 and @type2 are only #gconstpointer to
allow use with #GHashTable without function pointer casting. For
both arguments, a valid #GVariantType must be provided.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type1 and @type2 are exactly equal
This call, together with g_variant_type_next() provides an iterator
interface over tuple and dictionary entry types.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the first item type of @type, or %NULL
In the case that @type is %NULL, this function does nothing.
Since 2.24</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Returns the length of the type string corresponding to the given
@type. This function must be used to determine the valid extent of
the memory region returned by g_variant_type_peek_string().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the corresponding type string
The argument type of @type is only #gconstpointer to allow use with
#GHashTable without function pointer casting. A valid
#GVariantType must be provided.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the hash value
This function returns %TRUE for any indefinite type for which every
definite subtype is an array type -- %G_VARIANT_TYPE_ARRAY, for
example.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is an array type
This function returns %FALSE for all indefinite types except
%G_VARIANT_TYPE_BASIC.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a basic type
This function returns %TRUE for any indefinite type for which every
definite subtype is a container -- %G_VARIANT_TYPE_ARRAY, for
example.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a container type
result in %TRUE being returned. Calling this function on an
indefinite type like %G_VARIANT_TYPE_ARRAY, however, will result in
%FALSE being returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is definite
This function returns %TRUE for any indefinite type for which every
definite subtype is a dictionary entry type --
%G_VARIANT_TYPE_DICT_ENTRY, for example.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a dictionary entry type
This function returns %TRUE for any indefinite type for which every
definite subtype is a maybe type -- %G_VARIANT_TYPE_MAYBE, for
example.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a maybe type
This function returns %TRUE if @type is a subtype of @supertype. All
types are considered to be subtypes of themselves. Aside from that,
only indefinite types can have subtypes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a subtype of @supertype
This function returns %TRUE for any indefinite type for which every
definite subtype is a tuple type -- %G_VARIANT_TYPE_TUPLE, for
example.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a tuple type
</method>
<method name="is_variant" c:identifier="g_variant_type_is_variant">
<doc xml:space="preserve">Determines if the given @type is the variant type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is the variant type
This function may only be used with a dictionary entry type. Other
than the additional restriction, this call is equivalent to
g_variant_type_first().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the key type of the dictionary entry
In the case of a dictionary entry type, this function will always
return 2.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items in @type
entry then this call returns %NULL.
For tuples, %NULL is returned when @type is the last item in a tuple.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the next #GVariantType after @type, or %NULL
must call g_variant_type_get_string_length().
To get a nul-terminated string, see g_variant_type_dup_string().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the corresponding type string (not nul-terminated)
<doc xml:space="preserve">Determines the value type of a dictionary entry type.
This function may only be used with a dictionary entry type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value type of the dictionary entry
</parameters>
</method>
<function name="checked_" c:identifier="g_variant_type_checked_">
-
<return-value transfer-ownership="none">
<type name="VariantType" c:type="const GVariantType*"/>
</return-value>
</parameters>
</function>
<function name="string_get_depth_" c:identifier="g_variant_type_string_get_depth_">
-
<return-value transfer-ownership="none">
<type name="gsize" c:type="gsize"/>
</return-value>
<doc xml:space="preserve">Checks if @type_string is a valid GVariant type string. This call is
equivalent to calling g_variant_type_string_scan() and confirming
that the following character is a nul terminator.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type_string is exactly one valid type string
For the simple case of checking if a string is a valid type string,
see g_variant_type_string_is_valid().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a valid type string was found</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Declares a type of function which takes no arguments
and has no return value. It is used to specify the type
function passed to g_atexit().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the actual DLL name that the code being compiled will be included in.
On non-Windows platforms, expands to nothing.</doc>
-
<parameters>
<parameter name="static">
<doc xml:space="preserve">empty or "static"</doc>
</parameters>
</function-macro>
<constant name="WIN32_MSG_HANDLE" value="19981206" c:type="G_WIN32_MSG_HANDLE">
-
<type name="gint" c:type="gint"/>
</constant>
<function name="access" c:identifier="g_access" version="2.8">
more exactly should use the Win32 API.
See your C library manual for more details about access().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">zero if the pathname refers to an existing file system
object that has all the tested permissions, or -1 otherwise
Stack space allocated with alloca() in the same scope as a variable sized array
will be freed together with the variable sized array upon exit of that scope, and
not upon exit of the enclosing function scope.</doc>
-
<parameters>
<parameter name="size">
<doc xml:space="preserve">number of bytes to allocate.</doc>
g_array_append_val() is a macro which uses a reference to the value
parameter @v. This means that you cannot use it with literal values
such as "27". You must use variables.</doc>
-
<parameters>
<parameter name="a">
<doc xml:space="preserve">a #GArray</doc>
g_print ("Int at index 1 is %u; decrementing it\n", *my_int);
*my_int = *my_int - 1;
]|</doc>
-
<parameters>
<parameter name="a">
<doc xml:space="preserve">a #GArray</doc>
g_array_insert_val() is a macro which uses a reference to the value
parameter @v. This means that you cannot use it with literal values
such as "27". You must use variables.</doc>
-
<parameters>
<parameter name="a">
<doc xml:space="preserve">a #GArray</doc>
g_array_prepend_val() is a macro which uses a reference to the value
parameter @v. This means that you cannot use it with literal values
such as "27". You must use variables.</doc>
-
<parameters>
<parameter name="a">
<doc xml:space="preserve">a #GArray</doc>
<doc xml:space="preserve">Determines the numeric value of a character as a decimal digit.
Differs from g_unichar_digit_value() because it takes a char, so
there's no worry about sign extension if characters are signed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">If @c is a decimal digit (according to g_ascii_isdigit()),
its numeric value. Otherwise, -1.</doc>
guaranteed that the size of the resulting string will never
be larger than @G_ASCII_DTOSTR_BUF_SIZE bytes, including the terminating
nul character, which is always added.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The pointer to the buffer with the converted string.</doc>
<type name="utf8" c:type="gchar*"/>
If you just want to want to serialize the value into a
string, use g_ascii_dtostr().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The pointer to the buffer with the converted string.</doc>
<type name="utf8" c:type="gchar*"/>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to cast to #guchar before
passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to cast to #guchar before
passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
unlike the standard library function, this takes a char, not
an int, so don't call it on %EOF, but no need to cast to #guchar
before passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
Unlike the standard C library isdigit() function, this takes
a char, not an int, so don't call it on %EOF, but no need to
cast to #guchar before passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to cast to #guchar before
passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to worry about casting
to #guchar before passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to cast to #guchar before
passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to cast to #guchar before
passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to cast to #guchar before
passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
the standard library function, this takes a char, not an int,
so don't call it on %EOF, but no need to worry about casting
to #guchar before passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
Unlike the standard C library isxdigit() function, this takes
a char, not an int, so don't call it on %EOF, but no need to
cast to #guchar before passing a possibly non-ASCII character in.</doc>
-
<parameters>
<parameter name="c">
<doc xml:space="preserve">any character</doc>
strings using this function, you will get false matches.
Both @s1 and @s2 must be non-%NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if the strings match, a negative value if @s1 < @s2,
or a positive value if @s1 > @s2.</doc>
</function>
<function name="ascii_strdown" c:identifier="g_ascii_strdown">
<doc xml:space="preserve">Converts all upper case ASCII letters to lower case ASCII letters.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string, with all the upper case
characters in @str converted to lower case, with semantics that
See g_ascii_strtoll() if you have more complex needs such as
parsing a string which starts with a number, but then has other
characters.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @str was a number, otherwise %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
See g_ascii_strtoull() if you have more complex needs such as
parsing a string which starts with a number, but then has other
characters.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @str was a number, otherwise %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
The same warning as in g_ascii_strcasecmp() applies: Use this
function only on strings known to be in encodings where bytes
corresponding to ASCII letters always represent themselves.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if the strings match, a negative value if @s1 < @s2,
or a positive value if @s1 > @s2.</doc>
This function resets %errno before calling strtod() so that
you can reliably detect overflow and underflow.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #gdouble value.</doc>
<type name="gdouble" c:type="gdouble"/>
`EINVAL` is stored in `errno`. If the
string conversion fails, zero is returned, and @endptr returns @nptr
(if @endptr is non-%NULL).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #gint64 value or zero on error.</doc>
<type name="gint64" c:type="gint64"/>
`EINVAL` is stored in `errno`.
If the string conversion fails, zero is returned, and @endptr returns
@nptr (if @endptr is non-%NULL).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #guint64 value or zero on error.</doc>
<type name="guint64" c:type="guint64"/>
</function>
<function name="ascii_strup" c:identifier="g_ascii_strup">
<doc xml:space="preserve">Converts all lower case ASCII letters to upper case ASCII letters.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string, with all the lower case
characters in @str converted to upper case, with semantics that
library function, this takes and returns a char, not an int, so
don't call it on %EOF but no need to worry about casting to #guchar
before passing a possibly non-ASCII character in.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the result of converting @c to lower case. If @c is
not an ASCII upper case letter, @c is returned unchanged.</doc>
library function, this takes and returns a char, not an int, so
don't call it on %EOF but no need to worry about casting to #guchar
before passing a possibly non-ASCII character in.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the result of converting @c to upper case. If @c is not
an ASCII lower case letter, @c is returned unchanged.</doc>
digit. Differs from g_unichar_xdigit_value() because it takes
a char, so there's no worry about sign extension if characters
are signed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">If @c is a hex digit (according to g_ascii_isxdigit()),
its numeric value. Otherwise, -1.</doc>
in unit tests, otherwise the unit tests will be ineffective if compiled with
`G_DISABLE_ASSERT`. Use g_assert_true() and related macros in unit tests
instead.</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression to check</doc>
the same as `g_assert_true (n1 op n2)`. The advantage
of this macro is that it can produce a message that includes the
actual values of @n1 and @n2.</doc>
-
<parameters>
<parameter name="n1">
<doc xml:space="preserve">a floating point number</doc>
the same as `g_assert_true (abs (n1 - n2) < epsilon)`. The advantage
of this macro is that it can produce a message that includes the
actual values of @n1 and @n2.</doc>
-
<parameters>
<parameter name="n1">
<doc xml:space="preserve">a floating point number</doc>
This is a variant of g_assert_cmpuint() that displays the numbers
in hexadecimal notation in the message.</doc>
-
<parameters>
<parameter name="n1">
<doc xml:space="preserve">an unsigned integer</doc>
the same as `g_assert_true (n1 op n2)`. The advantage
of this macro is that it can produce a message that includes the
actual values of @n1 and @n2.</doc>
-
<parameters>
<parameter name="n1">
<doc xml:space="preserve">an integer</doc>
|[<!-- language="C" -->
g_assert_cmpmem (buf->data, buf->len, expected, sizeof (expected));
]|</doc>
-
<parameters>
<parameter name="m1">
<doc xml:space="preserve">pointer to a buffer</doc>
|[<!-- language="C" -->
g_assert_cmpstr (mystring, ==, "fubar");
]|</doc>
-
<parameters>
<parameter name="s1">
<doc xml:space="preserve">a string (may be %NULL)</doc>
the same as `g_assert_true (n1 op n2)`. The advantage
of this macro is that it can produce a message that includes the
actual values of @n1 and @n2.</doc>
-
<parameters>
<parameter name="n1">
<doc xml:space="preserve">an unsigned integer</doc>
The effect of `g_assert_cmpvariant (v1, v2)` is the same as
`g_assert_true (g_variant_equal (v1, v2))`. The advantage of this macro is
that it can produce a message that includes the actual values of @v1 and @v2.</doc>
-
<parameters>
<parameter name="v1">
<doc xml:space="preserve">pointer to a #GVariant</doc>
This can only be used to test for a specific error. If you want to
test that @err is set, but don't care what it's set to, just use
`g_assert_nonnull (err)`.</doc>
-
<parameters>
<parameter name="err">
<doc xml:space="preserve">a #GError, possibly %NULL</doc>
conversely, g_assert() should not be used in tests.
See g_test_set_nonfatal_assertions().</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression to check</doc>
g_strerror().
This macro will clear the value of `errno` before executing @expr.</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression to check</doc>
the same as `g_assert_true (err == NULL)`. The advantage
of this macro is that it can produce a message that includes
the error message and code.</doc>
-
<parameters>
<parameter name="err">
<doc xml:space="preserve">a #GError, possibly %NULL</doc>
conversely, g_assert() should not be used in tests.
See g_test_set_nonfatal_assertions().</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression to check</doc>
conversely, g_assert() should not be used in tests.
See g_test_set_nonfatal_assertions().</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression to check</doc>
conversely, g_assert() should not be used in tests.
See g_test_set_nonfatal_assertions().</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression to check</doc>
</parameters>
</function-macro>
<function name="assert_warning" c:identifier="g_assert_warning">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="assertion_message" c:identifier="g_assertion_message">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="assertion_message_cmpnum" c:identifier="g_assertion_message_cmpnum" introspectable="0">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="assertion_message_cmpstr" c:identifier="g_assertion_message_cmpstr">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="assertion_message_error" c:identifier="g_assertion_message_error">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="assertion_message_expr" c:identifier="g_assertion_message_expr" introspectable="0">
<doc xml:space="preserve">Internal function used to print messages from the public g_assert() and
g_assert_not_reached() macros.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
calling g_atexit() (or atexit()) except in the main executable of a
program.</doc>
<doc-deprecated xml:space="preserve">It is best to avoid g_atexit().</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This call acts as a full compiler and hardware memory barrier.
Before version 2.30, this function did not return a value
-(but g_atomic_int_exchange_and_add() did, and had the same meaning).</doc>
-
+(but g_atomic_int_exchange_and_add() did, and had the same meaning).
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the add, signed</doc>
<type name="gint" c:type="gint"/>
This call acts as a full compiler and hardware memory barrier.
Think of this operation as an atomic version of
-`{ tmp = *atomic; *atomic &= val; return tmp; }`.</doc>
-
+`{ tmp = *atomic; *atomic &= val; return tmp; }`.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the operation, unsigned</doc>
<type name="guint" c:type="guint"/>
Think of this operation as an atomic version of
`{ if (*atomic == oldval) { *atomic = newval; return TRUE; } else return FALSE; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the exchange took place</doc>
<type name="gboolean" c:type="gboolean"/>
Think of this operation as an atomic version of
`{ *atomic -= 1; return (*atomic == 0); }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the resultant value is zero</doc>
<type name="gboolean" c:type="gboolean"/>
value of the integer (which it now does). It is retained only for
compatibility reasons. Don't use this function in new code.</doc>
<doc-deprecated xml:space="preserve">Use g_atomic_int_add() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the add, signed</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">Gets the current value of @atomic.
This call acts as a full compiler and hardware
-memory barrier (before the get).</doc>
-
+memory barrier (before the get).
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of the integer</doc>
<type name="gint" c:type="gint"/>
Think of this operation as an atomic version of `{ *atomic += 1; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Think of this operation as an atomic version of
`{ tmp = *atomic; *atomic |= val; return tmp; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the operation, unsigned</doc>
<type name="guint" c:type="guint"/>
<doc xml:space="preserve">Sets the value of @atomic to @newval.
This call acts as a full compiler and hardware
-memory barrier (after the set).</doc>
-
+memory barrier (after the set).
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Think of this operation as an atomic version of
`{ tmp = *atomic; *atomic ^= val; return tmp; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the operation, unsigned</doc>
<type name="guint" c:type="guint"/>
Think of this operation as an atomic version of
`{ tmp = *atomic; *atomic += val; return tmp; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the add, signed</doc>
<type name="gssize" c:type="gssize"/>
Think of this operation as an atomic version of
`{ tmp = *atomic; *atomic &= val; return tmp; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the operation, unsigned</doc>
<type name="gsize" c:type="gsize"/>
Think of this operation as an atomic version of
`{ if (*atomic == oldval) { *atomic = newval; return TRUE; } else return FALSE; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the exchange took place</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the current value of @atomic.
This call acts as a full compiler and hardware
-memory barrier (before the get).</doc>
-
+memory barrier (before the get).
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the value of the pointer</doc>
<type name="gpointer" c:type="gpointer"/>
Think of this operation as an atomic version of
`{ tmp = *atomic; *atomic |= val; return tmp; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the operation, unsigned</doc>
<type name="gsize" c:type="gsize"/>
<doc xml:space="preserve">Sets the value of @atomic to @newval.
This call acts as a full compiler and hardware
-memory barrier (after the set).</doc>
-
+memory barrier (after the set).
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Think of this operation as an atomic version of
`{ tmp = *atomic; *atomic ^= val; return tmp; }`.
-This call acts as a full compiler and hardware memory barrier.</doc>
-
+This call acts as a full compiler and hardware memory barrier.
+
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of @atomic before the operation, unsigned</doc>
<type name="gsize" c:type="gsize"/>
</function>
<function name="atomic_rc_box_acquire" c:identifier="g_atomic_rc_box_acquire" version="2.58">
<doc xml:space="preserve">Atomically acquires a reference on the data pointed by @mem_block.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the data,
with its reference count increased</doc>
The allocated data is guaranteed to be suitably aligned for any
built-in type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
The allocated data is guaranteed to be suitably aligned for any
built-in type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
<doc xml:space="preserve">Allocates a new block of data with atomic reference counting
semantics, and copies @block_size bytes of @mem_block
into it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the allocated
memory</doc>
</function>
<function name="atomic_rc_box_get_size" c:identifier="g_atomic_rc_box_get_size" version="2.58">
<doc xml:space="preserve">Retrieves the size of the reference counted data pointed by @mem_block.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the data, in bytes</doc>
<type name="gsize" c:type="gsize"/>
This macro calls g_atomic_rc_box_alloc() with `sizeof (@type)` and
casts the returned pointer to a pointer of the given @type,
avoiding a type cast in the source code.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type to allocate, typically a structure name</doc>
This macro calls g_atomic_rc_box_alloc0() with `sizeof (@type)` and
casts the returned pointer to a pointer of the given @type,
avoiding a type cast in the source code.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type to allocate, typically a structure name</doc>
If the reference was the last one, it will free the
resources allocated for @mem_block.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the reference was the last one, it will call @clear_func
to clear the contents of @mem_block, and then will free the
resources allocated for @mem_block.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="atomic_ref_count_compare" c:identifier="g_atomic_ref_count_compare" version="2.58">
<doc xml:space="preserve">Atomically compares the current value of @arc with @val.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the reference count is the same
as the given value</doc>
</function>
<function name="atomic_ref_count_dec" c:identifier="g_atomic_ref_count_dec" version="2.58">
<doc xml:space="preserve">Atomically decreases the reference count.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the reference count reached 0, and %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="atomic_ref_count_inc" c:identifier="g_atomic_ref_count_inc" version="2.58">
<doc xml:space="preserve">Atomically increases the reference count.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="atomic_ref_count_init" c:identifier="g_atomic_ref_count_init" version="2.58">
<doc xml:space="preserve">Initializes a reference count variable.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Decode a sequence of Base-64 encoded text into binary data. Note
that the returned binary data is not necessarily zero-terminated,
so it should not be used as a character string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
newly allocated buffer containing the binary data
<function name="base64_decode_inplace" c:identifier="g_base64_decode_inplace" version="2.20">
<doc xml:space="preserve">Decode a sequence of Base-64 encoded text into binary data
by overwriting the input data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The binary data that @text responds. This pointer
is the same as the input @text.</doc>
be written to it. Since base64 encodes 3 bytes in 4 chars you need
at least: (@len / 4) * 3 + 3 bytes (+ 3 may be needed in case of non-zero
state).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The number of bytes of output that was written</doc>
<type name="gsize" c:type="gsize"/>
<function name="base64_encode" c:identifier="g_base64_encode" version="2.12">
<doc xml:space="preserve">Encode a sequence of binary data into its Base-64 stringified
representation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated, zero-terminated Base-64
encoded string representing @data. The returned string must
line-breaking is enabled.
The @out array will not be automatically nul-terminated.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The number of bytes of output that was written</doc>
<type name="gsize" c:type="gsize"/>
Note however that it breaks the lines with `LF` characters, not
`CR LF` sequences, so the result cannot be passed directly to SMTP
or certain other protocols.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The number of bytes of output that was written</doc>
<type name="gsize" c:type="gsize"/>
that g_path_get_basename() allocates new memory for the
returned string, unlike this function which returns a pointer
into the argument.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the file without any leading
directory components</doc>
This function accesses @address atomically. All other accesses to
@address must be atomic in order for this function to work
reliably.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
from (but not including) @nth_bit upwards. Bits are numbered
from 0 (least significant) to sizeof(#gulong) * 8 - 1 (31 or 63,
usually). To start searching from the 0th bit, set @nth_bit to -1.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the index of the first bit set which is higher than @nth_bit, or -1
if no higher bits are set</doc>
from 0 (least significant) to sizeof(#gulong) * 8 - 1 (31 or 63,
usually). To start searching from the last bit, set @nth_bit to
-1 or GLIB_SIZEOF_LONG * 8.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the index of the first bit set which is lower than @nth_bit, or -1
if no lower bits are set</doc>
<function name="bit_storage" c:identifier="g_bit_storage">
<doc xml:space="preserve">Gets the number of bits used to hold @number,
e.g. if @number is 4, 3 bits are needed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bits used to hold @number</doc>
<type name="guint" c:type="guint"/>
This function accesses @address atomically. All other accesses to
@address must be atomic in order for this function to work
reliably.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the lock was acquired</doc>
<type name="gboolean" c:type="gboolean"/>
This function accesses @address atomically. All other accesses to
@address must be atomic in order for this function to work
reliably.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
No attempt is made to force the resulting filename to be an absolute
path. If the first element is a relative path, the result will
be a relative path.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string that must be freed with
g_free().</doc>
<function name="build_filename_valist" c:identifier="g_build_filename_valist" version="2.56" introspectable="0">
<doc xml:space="preserve">Behaves exactly like g_build_filename(), but takes the path elements
as a va_list. This function is mainly meant for language bindings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string that must be freed
with g_free().</doc>
<doc xml:space="preserve">Behaves exactly like g_build_filename(), but takes the path elements
as a string array, instead of varargs. This function is mainly
meant for language bindings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string that must be freed
with g_free().</doc>
Other than for determination of the number of leading and trailing
copies of the separator, elements consisting only of copies
of the separator are ignored.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string that must be freed with
g_free().</doc>
<doc xml:space="preserve">Behaves exactly like g_build_path(), but takes the path elements
as a string array, instead of varargs. This function is mainly
meant for language bindings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string that must be freed
with g_free().</doc>
%TRUE it frees the actual byte data. If the reference count of
@array is greater than one, the #GByteArray wrapper is preserved but
the size of @array will be set to zero.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the element data if @free_segment is %FALSE, otherwise
%NULL. The element data should be freed using g_free().</doc>
This is identical to using g_bytes_new_take() and g_byte_array_free()
together.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new immutable #GBytes representing same
byte data that was in the array</doc>
</function>
<function name="byte_array_new" c:identifier="g_byte_array_new" moved-to="ByteArray.new">
<doc xml:space="preserve">Creates a new #GByteArray with a reference count of 1.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
</function>
<function name="byte_array_new_take" c:identifier="g_byte_array_new_take" moved-to="ByteArray.new_take" version="2.32">
<doc xml:space="preserve">Create byte array containing the data. The data will be owned by the array
-and will be freed with g_free(), i.e. it could be allocated using g_strdup().</doc>
-
+and will be freed with g_free(), i.e. it could be allocated using g_strdup().
+
+Do not use it if @len is greater than %G_MAXUINT. #GByteArray
+stores the length of its data in #guint, which may be shorter than
+#gsize.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GByteArray</doc>
<array name="GLib.ByteArray" c:type="GByteArray*">
<doc xml:space="preserve">Frees the data in the array and resets the size to zero, while
the underlying array is preserved for use elsewhere and returned
to the caller.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the element data, which should be
freed using g_free().</doc>
reference count drops to 0, all memory allocated by the array is
released. This function is thread-safe and may be called from any
thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
exist.
No file system I/O is done.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string with the
canonical file path</doc>
current directory of the process to @path.
See your C library manual for more details about chdir().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 on success, -1 if an error occurred.</doc>
<type name="gint" c:type="int"/>
the running library must be binary compatible with the
version @required_major.required_minor.@required_micro
(same major version.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%NULL if the GLib library is compatible with the
given version, or a string describing the version mismatch.
</docsection>
<function name="checksum_type_get_length" c:identifier="g_checksum_type_get_length" moved-to="Checksum.type_get_length" version="2.16">
<doc xml:space="preserve">Gets the length in bytes of digests of type @checksum_type</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the checksum length, or -1 if @checksum_type is
not supported.</doc>
g_child_watch_source_new() and attaches it to the main loop context
using g_source_attach(). You can do these steps manually if you
need greater control.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
g_child_watch_source_new() and attaches it to the main loop context
using g_source_attach(). You can do these steps manually if you
need greater control.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
* the application must not wait for @pid to exit by any other
mechanism, including `waitpid(pid, ...)` or a second child-watch
source for the same @pid
-* the application must not ignore SIGCHILD
+* the application must not ignore `SIGCHLD`
If any of those conditions are not met, this and related APIs will
not work correctly. This can often be diagnosed via a GLib warning
Calling `waitpid` for specific processes other than @pid remains a
valid thing to do.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly-created child watch source</doc>
<type name="Source" c:type="GSource*"/>
<function name="clear_error" c:identifier="g_clear_error" throws="1">
<doc xml:space="preserve">If @err or *@err is %NULL, does nothing. Otherwise,
calls g_error_free() on *@err and sets *@err to %NULL.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
A macro is also included that allows this function to be used without
pointer casts.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Clears a pointer to a #GList, freeing it and, optionally, freeing its elements using @destroy.
@list_ptr must be a valid pointer. If @list_ptr points to a null #GList, this does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
compatible with being called as `GDestroyNotify` using the standard calling
convention for the platform that GLib was compiled for; otherwise the program
will experience undefined behaviour.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Clears a pointer to a #GSList, freeing it and, optionally, freeing its elements using @destroy.
@slist_ptr must be a valid pointer. If @slist_ptr points to a null #GSList, this does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
function over the call provided by the system; on Unix, it will
attempt to correctly handle %EINTR, which has platform-specific
semantics.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error.</doc>
<type name="gboolean" c:type="gboolean"/>
and g_checksum_free().
The hexadecimal string returned will be in lower case.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the digest of the binary data as a string in hexadecimal.
- The returned string should be freed with g_free() when done using it.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">the digest of the binary data as a
+ string in hexadecimal, or %NULL if g_checksum_new() fails for
+ @checksum_type. The returned string should be freed with g_free() when
+ done using it.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
and g_checksum_free().
The hexadecimal string returned will be in lower case.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the digest of the binary data as a string in hexadecimal.
- The returned string should be freed with g_free() when done using it.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">the digest of the binary data as a
+ string in hexadecimal, or %NULL if g_checksum_new() fails for
+ @checksum_type. The returned string should be freed with g_free() when
+ done using it.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<doc xml:space="preserve">Computes the checksum of a string.
The hexadecimal string returned will be in lower case.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the checksum as a hexadecimal string. The returned string
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">the checksum as a hexadecimal string,
+ or %NULL if g_checksum_new() fails for @checksum_type. The returned string
should be freed with g_free() when done using it.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
and g_hmac_unref().
The hexadecimal string returned will be in lower case.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the HMAC of the binary data as a string in hexadecimal.
The returned string should be freed with g_free() when done using it.</doc>
and g_hmac_unref().
The hexadecimal string returned will be in lower case.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the HMAC of the binary data as a string in hexadecimal.
The returned string should be freed with g_free() when done using it.</doc>
<doc xml:space="preserve">Computes the HMAC for a string.
The hexadecimal string returned will be in lower case.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the HMAC as a hexadecimal string.
The returned string should be freed with g_free()
Using extensions such as "//TRANSLIT" may not work (or may not work
well) on many platforms. Consider using g_str_to_ascii() instead.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
If the conversion was successful, a newly allocated buffer
this is the GNU C converter for CP1255 which does not emit a base
character until it knows that the next character is not a mark that
could combine with the base character.)</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
If the conversion was successful, a newly allocated buffer
this is the same error code as is returned for an invalid byte sequence in
the input character set. To get defined behaviour for conversion of
unrepresentable characters, use g_convert_with_fallback().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
If the conversion was successful, a newly allocated buffer
<doc xml:space="preserve">Frees all the data elements of the datalist.
The data elements' destroy functions are called
if they have been set.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@func can make changes to @datalist, but the iteration will not
reflect changes made during the g_datalist_foreach() call, other
than skipping over elements that are removed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="datalist_get_data" c:identifier="g_datalist_get_data">
<doc xml:space="preserve">Gets a data element, using its string identifier. This is slower than
g_datalist_id_get_data() because it compares strings.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data element, or %NULL if it
is not found.</doc>
<function name="datalist_get_flags" c:identifier="g_datalist_get_flags" version="2.8">
<doc xml:space="preserve">Gets flags values packed in together with the datalist.
See g_datalist_set_flags().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the flags of the datalist</doc>
<type name="guint" c:type="guint"/>
This function can be useful to avoid races when multiple
threads are using the same datalist and the same key.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the result of calling @dup_func on the value
associated with @key_id in @datalist, or %NULL if not set.
</function>
<function name="datalist_id_get_data" c:identifier="g_datalist_id_get_data">
<doc xml:space="preserve">Retrieves the data element corresponding to @key_id.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data element, or %NULL if
it is not found.</doc>
</function>
<function-macro name="datalist_id_remove_data" c:identifier="g_datalist_id_remove_data" introspectable="0">
<doc xml:space="preserve">Removes an element, using its #GQuark identifier.</doc>
-
<parameters>
<parameter name="dl">
<doc xml:space="preserve">a datalist.</doc>
<function name="datalist_id_remove_no_notify" c:identifier="g_datalist_id_remove_no_notify" introspectable="0">
<doc xml:space="preserve">Removes an element, without calling its destroy notification
function.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data previously stored at @key_id,
or %NULL if none.</doc>
Its up to the caller to free this as he wishes, which may
or may not include using @old_destroy as sometimes replacement
should not destroy the object in the normal way.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the existing value for @key_id was replaced
by @newval, %FALSE otherwise.</doc>
<doc xml:space="preserve">Sets the data corresponding to the given #GQuark id. Any previous
data with the same key is removed, and its destroy function is
called.</doc>
-
<parameters>
<parameter name="dl">
<doc xml:space="preserve">a datalist.</doc>
function to be called when the element is removed from the datalist.
Any previous data with the same key is removed, and its destroy
function is called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="datalist_init" c:identifier="g_datalist_init" introspectable="0">
<doc xml:space="preserve">Resets the datalist to %NULL. It does not free any memory or call
any destroy functions.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function-macro name="datalist_remove_data" c:identifier="g_datalist_remove_data" introspectable="0">
<doc xml:space="preserve">Removes an element using its string identifier. The data element's
destroy function is called if it has been set.</doc>
-
<parameters>
<parameter name="dl">
<doc xml:space="preserve">a datalist.</doc>
</function-macro>
<function-macro name="datalist_remove_no_notify" c:identifier="g_datalist_remove_no_notify" introspectable="0">
<doc xml:space="preserve">Removes an element, without calling its destroy notifier.</doc>
-
<parameters>
<parameter name="dl">
<doc xml:space="preserve">a datalist.</doc>
</function-macro>
<function-macro name="datalist_set_data" c:identifier="g_datalist_set_data" introspectable="0">
<doc xml:space="preserve">Sets the data element corresponding to the given string identifier.</doc>
-
<parameters>
<parameter name="dl">
<doc xml:space="preserve">a datalist.</doc>
<function-macro name="datalist_set_data_full" c:identifier="g_datalist_set_data_full" introspectable="0">
<doc xml:space="preserve">Sets the data element corresponding to the given string identifier,
and the function to be called when the data element is removed.</doc>
-
<parameters>
<parameter name="dl">
<doc xml:space="preserve">a datalist.</doc>
not generally useful except in circumstances where space
is very tight. (It is used in the base #GObject type, for
example.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="datalist_unset_flags" c:identifier="g_datalist_unset_flags" version="2.8">
<doc xml:space="preserve">Turns off flag values for a data list. See g_datalist_unset_flags()</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="dataset_destroy" c:identifier="g_dataset_destroy">
<doc xml:space="preserve">Destroys the dataset, freeing all memory allocated, and calling any
destroy functions set for data elements.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@func can make changes to the dataset, but the iteration will not
reflect changes made during the g_dataset_foreach() call, other
than skipping over elements that are removed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function-macro name="dataset_get_data" c:identifier="g_dataset_get_data" introspectable="0">
<doc xml:space="preserve">Gets the data element corresponding to a string.</doc>
-
<parameters>
<parameter name="l">
<doc xml:space="preserve">the location identifying the dataset.</doc>
</function-macro>
<function name="dataset_id_get_data" c:identifier="g_dataset_id_get_data">
<doc xml:space="preserve">Gets the data element corresponding to a #GQuark.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data element corresponding to
the #GQuark, or %NULL if it is not found.</doc>
<function-macro name="dataset_id_remove_data" c:identifier="g_dataset_id_remove_data" introspectable="0">
<doc xml:space="preserve">Removes a data element from a dataset. The data element's destroy
function is called if it has been set.</doc>
-
<parameters>
<parameter name="l">
<doc xml:space="preserve">the location identifying the dataset.</doc>
<function name="dataset_id_remove_no_notify" c:identifier="g_dataset_id_remove_no_notify" introspectable="0">
<doc xml:space="preserve">Removes an element, without calling its destroy notification
function.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data previously stored at @key_id,
or %NULL if none.</doc>
<doc xml:space="preserve">Sets the data element associated with the given #GQuark id. Any
previous data with the same key is removed, and its destroy function
is called.</doc>
-
<parameters>
<parameter name="l">
<doc xml:space="preserve">the location identifying the dataset.</doc>
the function to call when the data element is destroyed. Any
previous data with the same key is removed, and its destroy function
is called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function-macro name="dataset_remove_data" c:identifier="g_dataset_remove_data" introspectable="0">
<doc xml:space="preserve">Removes a data element corresponding to a string. Its destroy
function is called if it has been set.</doc>
-
<parameters>
<parameter name="l">
<doc xml:space="preserve">the location identifying the dataset.</doc>
</function-macro>
<function-macro name="dataset_remove_no_notify" c:identifier="g_dataset_remove_no_notify" introspectable="0">
<doc xml:space="preserve">Removes an element, without calling its destroy notifier.</doc>
-
<parameters>
<parameter name="l">
<doc xml:space="preserve">the location identifying the dataset.</doc>
</function-macro>
<function-macro name="dataset_set_data" c:identifier="g_dataset_set_data" introspectable="0">
<doc xml:space="preserve">Sets the data corresponding to the given string identifier.</doc>
-
<parameters>
<parameter name="l">
<doc xml:space="preserve">the location identifying the dataset.</doc>
<function-macro name="dataset_set_data_full" c:identifier="g_dataset_set_data_full" introspectable="0">
<doc xml:space="preserve">Sets the data corresponding to the given string identifier, and the
function to call when the data element is destroyed.</doc>
-
<parameters>
<parameter name="l">
<doc xml:space="preserve">the location identifying the dataset.</doc>
representation is valid. Sometimes neither is valid. Use the API.
GLib also features #GDateTime which represents a precise time.</doc>
+ </docsection>
+ <docsection name="date-time">
+ <doc xml:space="preserve">#GDateTime is a structure that combines a Gregorian date and time
+into a single structure. It provides many conversion and methods to
+manipulate dates and times. Time precision is provided down to
+microseconds and the time can range (proleptically) from 0001-01-01
+00:00:00 to 9999-12-31 23:59:59.999999. #GDateTime follows POSIX
+time in the sense that it is oblivious to leap seconds.
+
+#GDateTime is an immutable object; once it has been created it cannot
+be modified further. All modifiers will create a new #GDateTime.
+Nearly all such functions can fail due to the date or time going out
+of range, in which case %NULL will be returned.
+
+#GDateTime is reference counted: the reference count is increased by calling
+g_date_time_ref() and decreased by calling g_date_time_unref(). When the
+reference count drops to 0, the resources allocated by the #GDateTime
+structure are released.
+
+Many parts of the API may produce non-obvious results. As an
+example, adding two months to January 31st will yield March 31st
+whereas adding one month and then one month again will yield either
+March 28th or March 29th. Also note that adding 24 hours is not
+always the same as adding one day (since days containing daylight
+savings time transitions are either 23 or 25 hours in length).
+
+#GDateTime is available since GLib 2.26.</doc>
</docsection>
<function name="date_get_days_in_month" c:identifier="g_date_get_days_in_month" moved-to="Date.get_days_in_month">
<doc xml:space="preserve">Returns the number of days in a month, taking leap
years into account.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of days in @month during the @year</doc>
<type name="guint8" c:type="guint8"/>
year. This function is basically telling you how many
Mondays are in the year, i.e. there are 53 Mondays if
one of the extra days happens to be a Monday.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of Mondays in the year</doc>
<type name="guint8" c:type="guint8"/>
year. This function is basically telling you how many
Sundays are in the year, i.e. there are 53 Sundays if
one of the extra days happens to be a Sunday.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of weeks in @year</doc>
<type name="guint8" c:type="guint8"/>
divisible by 4 unless that year is divisible by 100. If it
is divisible by 100 it would be a leap year only if that year
is also divisible by 400.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the year is a leap year</doc>
<type name="gboolean" c:type="gboolean"/>
For example, don't expect that using g_date_strftime() would
make the \%F provided by the C99 strftime() work on Windows
where the C library only complies to C89.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of characters written to the buffer, or 0 the buffer was too small</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</function>
- <function name="date_time_compare" c:identifier="g_date_time_compare" moved-to="DateTime.compare" version="2.26">
- <doc xml:space="preserve">A comparison function for #GDateTimes that is suitable
-as a #GCompareFunc. Both #GDateTimes must be non-%NULL.</doc>
-
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">-1, 0 or 1 if @dt1 is less than, equal to or greater
- than @dt2.</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="dt1" transfer-ownership="none">
- <doc xml:space="preserve">first #GDateTime to compare</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- <parameter name="dt2" transfer-ownership="none">
- <doc xml:space="preserve">second #GDateTime to compare</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="date_time_equal" c:identifier="g_date_time_equal" moved-to="DateTime.equal" version="2.26">
- <doc xml:space="preserve">Checks to see if @dt1 and @dt2 are equal.
-
-Equal here means that they represent the same moment after converting
-them to the same time zone.</doc>
-
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @dt1 and @dt2 are equal</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="dt1" transfer-ownership="none">
- <doc xml:space="preserve">a #GDateTime</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- <parameter name="dt2" transfer-ownership="none">
- <doc xml:space="preserve">a #GDateTime</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="date_time_hash" c:identifier="g_date_time_hash" moved-to="DateTime.hash" version="2.26">
- <doc xml:space="preserve">Hashes @datetime into a #guint, suitable for use within #GHashTable.</doc>
-
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #guint containing the hash</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="datetime" transfer-ownership="none">
- <doc xml:space="preserve">a #GDateTime</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
<function name="date_valid_day" c:identifier="g_date_valid_day" moved-to="Date.valid_day">
<doc xml:space="preserve">Returns %TRUE if the day of the month is valid (a day is valid if it's
between 1 and 31 inclusive).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the day is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Returns %TRUE if the day-month-year triplet forms a valid, existing day
in the range of days #GDate understands (Year 1 or later, no more than
a few thousand years in the future).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the date is a valid one</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="date_valid_julian" c:identifier="g_date_valid_julian" moved-to="Date.valid_julian">
<doc xml:space="preserve">Returns %TRUE if the Julian day is valid. Anything greater than zero
is basically a valid Julian, though there is a 32-bit limit.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the Julian day is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="date_valid_month" c:identifier="g_date_valid_month" moved-to="Date.valid_month">
<doc xml:space="preserve">Returns %TRUE if the month value is valid. The 12 #GDateMonth
enumeration values are the only valid months.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the month is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="date_valid_weekday" c:identifier="g_date_valid_weekday" moved-to="Date.valid_weekday">
<doc xml:space="preserve">Returns %TRUE if the weekday is valid. The seven #GDateWeekday enumeration
values are the only valid weekdays.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the weekday is valid</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="date_valid_year" c:identifier="g_date_valid_year" moved-to="Date.valid_year">
<doc xml:space="preserve">Returns %TRUE if the year is valid. Any year greater than 0 is valid,
though there is a 16-bit limit to what #GDate will understand.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the year is valid</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
- <docsection name="datetime">
- <doc xml:space="preserve">#GDateTime is a structure that combines a Gregorian date and time
-into a single structure. It provides many conversion and methods to
-manipulate dates and times. Time precision is provided down to
-microseconds and the time can range (proleptically) from 0001-01-01
-00:00:00 to 9999-12-31 23:59:59.999999. #GDateTime follows POSIX
-time in the sense that it is oblivious to leap seconds.
-
-#GDateTime is an immutable object; once it has been created it cannot
-be modified further. All modifiers will create a new #GDateTime.
-Nearly all such functions can fail due to the date or time going out
-of range, in which case %NULL will be returned.
-
-#GDateTime is reference counted: the reference count is increased by calling
-g_date_time_ref() and decreased by calling g_date_time_unref(). When the
-reference count drops to 0, the resources allocated by the #GDateTime
-structure are released.
-
-Many parts of the API may produce non-obvious results. As an
-example, adding two months to January 31st will yield March 31st
-whereas adding one month and then one month again will yield either
-March 28th or March 29th. Also note that adding 24 hours is not
-always the same as adding one day (since days containing daylight
-savings time transitions are either 23 or 25 hours in length).
-
-#GDateTime is available since GLib 2.26.</doc>
- </docsection>
<function name="dcgettext" c:identifier="g_dcgettext" version="2.26">
<doc xml:space="preserve">This is a variant of g_dgettext() that allows specifying a locale
category instead of always using `LC_MESSAGES`. See g_dgettext() for
more information about how this functions differs from calling
dcgettext() directly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the translated string for the given locale category</doc>
<type name="utf8" c:type="const gchar*"/>
Applications should normally not use this function directly,
but use the _() macro for translations.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The translated string</doc>
<type name="utf8" c:type="const gchar*"/>
Note that in contrast to g_mkdtemp() (and mkdtemp()) @tmpl is not
modified, and might thus be a read-only literal string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The actual name used. This string
should be freed with g_free() when not needed any longer and is
This equality function is also appropriate for keys that are integers
stored in pointers, such as `GINT_TO_POINTER (n)`.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the two keys match.</doc>
<type name="gboolean" c:type="gboolean"/>
This hash function is also appropriate for keys that are integers
stored in pointers, such as `GINT_TO_POINTER (n)`.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a hash value corresponding to the key.</doc>
<type name="guint" c:type="guint"/>
See g_dgettext() for details of how this differs from dngettext()
proper.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The translated string</doc>
<type name="utf8" c:type="const gchar*"/>
It can be passed to g_hash_table_new() as the @key_equal_func
parameter, when using non-%NULL pointers to doubles as keys in a
#GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the two keys match.</doc>
<type name="gboolean" c:type="gboolean"/>
It can be passed to g_hash_table_new() as the @hash_func parameter,
It can be passed to g_hash_table_new() as the @hash_func parameter,
when using non-%NULL pointers to doubles as keys in a #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a hash value corresponding to the key.</doc>
<type name="guint" c:type="guint"/>
Applications should normally not use this function directly,
but use the C_() macro for translations with context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The translated string</doc>
<type name="utf8" c:type="const gchar*"/>
This function differs from C_() in that it is not a macro and
thus you may use non-string-literals as context and msgid arguments.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The translated string</doc>
<type name="utf8" c:type="const gchar*"/>
<function name="environ_getenv" c:identifier="g_environ_getenv" version="2.32">
<doc xml:space="preserve">Returns the value of the environment variable @variable in the
provided list @envp.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of the environment variable, or %NULL if
the environment variable is not set in @envp. The returned
<function name="environ_setenv" c:identifier="g_environ_setenv" version="2.32">
<doc xml:space="preserve">Sets the environment variable @variable in the provided list
@envp to @value.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
the updated environment list. Free it using g_strfreev().</doc>
<function name="environ_unsetenv" c:identifier="g_environ_unsetenv" version="2.32">
<doc xml:space="preserve">Removes the environment variable @variable from the provided
environment @envp.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
the updated environment list. Free it using g_strfreev().</doc>
- Do not report programming errors via #GError.
- The last argument of a function that returns an error should
- be a location where a #GError can be placed (i.e. "#GError** error").
- If #GError is used with varargs, the #GError** should be the last
- argument before the "...".
+ be a location where a #GError can be placed (i.e. `GError **error`).
+ If #GError is used with varargs, the `GError**` should be the last
+ argument before the `...`.
-- The caller may pass %NULL for the #GError** if they are not interested
+- The caller may pass %NULL for the `GError**` if they are not interested
in details of the exact error that occurred.
-- If %NULL is passed for the #GError** argument, then errors should
+- If %NULL is passed for the `GError**` argument, then errors should
not be returned to the caller, but your function should still
abort and return if an error occurs. That is, control flow should
not be affected by whether the caller wants to get a #GError.
- If a #GError is reported, out parameters are not guaranteed to
be set to any defined value.
-- A #GError* must be initialized to %NULL before passing its address
+- A `GError*` must be initialized to %NULL before passing its address
to a function that can report errors.
+- #GError structs must not be stack-allocated.
+
- "Piling up" errors is always a bug. That is, if you assign a
- new #GError to a #GError* that is non-%NULL, thus overwriting
+ new #GError to a `GError*` that is non-%NULL, thus overwriting
the previous error, it indicates that you should have aborted
the operation instead of continuing. If you were able to continue,
you should have cleared the previous error with g_clear_error().
- By convention, if you return a boolean value indicating success
then %TRUE means success and %FALSE means failure. Avoid creating
- functions which have a boolean return value and a GError parameter,
+ functions which have a boolean return value and a #GError parameter,
but where the boolean does something other than signal whether the
- GError is set. Among other problems, it requires C callers to allocate
- a temporary error. Instead, provide a "gboolean *" out parameter.
+ #GError is set. Among other problems, it requires C callers to allocate
+ a temporary error. Instead, provide a `gboolean *` out parameter.
There are functions in GLib itself such as g_key_file_has_key() that
- are deprecated because of this. If %FALSE is returned, the error must
+ are hard to use because of this. If %FALSE is returned, the error must
be set to a non-%NULL value. One exception to this is that in situations
that are already considered to be undefined behaviour (such as when a
g_return_val_if_fail() check fails), the error need not be set.
- When implementing a function that can report errors, you may want
to add a check at the top of your function that the error return
location is either %NULL or contains a %NULL error (e.g.
- `g_return_if_fail (error == NULL || *error == NULL);`).</doc>
+ `g_return_if_fail (error == NULL || *error == NULL);`).
+
+## Extended #GError Domains # {#gerror-extended-domains}
+
+Since GLib 2.68 it is possible to extend the #GError type. This is
+done with the G_DEFINE_EXTENDED_ERROR() macro. To create an
+extended #GError type do something like this in the header file:
+|[<!-- language="C" -->
+typedef enum
+{
+ MY_ERROR_BAD_REQUEST,
+} MyError;
+#define MY_ERROR (my_error_quark ())
+GQuark my_error_quark (void);
+int
+my_error_get_parse_error_id (GError *error);
+const char *
+my_error_get_bad_request_details (GError *error);
+]|
+and in implementation:
+|[<!-- language="C" -->
+typedef struct
+{
+ int parse_error_id;
+ char *bad_request_details;
+} MyErrorPrivate;
+
+static void
+my_error_private_init (MyErrorPrivate *priv)
+{
+ priv->parse_error_id = -1;
+ // No need to set priv->bad_request_details to NULL,
+ // the struct is initialized with zeros.
+}
+
+static void
+my_error_private_copy (const MyErrorPrivate *src_priv, MyErrorPrivate *dest_priv)
+{
+ dest_priv->parse_error_id = src_priv->parse_error_id;
+ dest_priv->bad_request_details = g_strdup (src_priv->bad_request_details);
+}
+
+static void
+my_error_private_clear (MyErrorPrivate *priv)
+{
+ g_free (priv->bad_request_details);
+}
+
+// This defines the my_error_get_private and my_error_quark functions.
+G_DEFINE_EXTENDED_ERROR (MyError, my_error)
+
+int
+my_error_get_parse_error_id (GError *error)
+{
+ MyErrorPrivate *priv = my_error_get_private (error);
+ g_return_val_if_fail (priv != NULL, -1);
+ return priv->parse_error_id;
+}
+
+const char *
+my_error_get_bad_request_details (GError *error)
+{
+ MyErrorPrivate *priv = my_error_get_private (error);
+ g_return_val_if_fail (priv != NULL, NULL);
+ g_return_val_if_fail (error->code != MY_ERROR_BAD_REQUEST, NULL);
+ return priv->bad_request_details;
+}
+
+static void
+my_error_set_bad_request (GError **error,
+ const char *reason,
+ int error_id,
+ const char *details)
+{
+ MyErrorPrivate *priv;
+ g_set_error (error, MY_ERROR, MY_ERROR_BAD_REQUEST, "Invalid request: %s", reason);
+ if (error != NULL && *error != NULL)
+ {
+ priv = my_error_get_private (error);
+ g_return_val_if_fail (priv != NULL, NULL);
+ priv->parse_error_id = error_id;
+ priv->bad_request_details = g_strdup (details);
+ }
+}
+]|
+An example of use of the error could be:
+|[<!-- language="C" -->
+gboolean
+send_request (GBytes *request, GError **error)
+{
+ ParseFailedStatus *failure = validate_request (request);
+ if (failure != NULL)
+ {
+ my_error_set_bad_request (error, failure->reason, failure->error_id, failure->details);
+ parse_failed_status_free (failure);
+ return FALSE;
+ }
+
+ return send_one (request, error);
+}
+]|
+
+Please note that if you are a library author and your library
+exposes an existing error domain, then you can't make this error
+domain an extended one without breaking ABI. This is because
+earlier it was possible to create an error with this error domain
+on the stack and then copy it with g_error_copy(). If the new
+version of your library makes the error domain an extended one,
+then g_error_copy() called by code that allocated the error on the
+stack will try to copy more data than it used to, which will lead
+to undefined behavior. You must not stack-allocate errors with an
+extended error domain, and it is bad practice to stack-allocate any
+other #GErrors.
+
+Extended error domains in unloadable plugins/modules are not
+supported.</doc>
</docsection>
<function name="file_error_from_errno" c:identifier="g_file_error_from_errno">
<doc xml:space="preserve">Gets a #GFileError constant based on the passed-in @err_no.
Normally a #GFileError value goes into a #GError returned
from a function that manipulates files. So you would use
g_file_error_from_errno() when constructing a #GError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GFileError corresponding to the given @errno</doc>
<type name="FileError" c:type="GFileError"/>
%FALSE and sets @error. The error domain is #G_FILE_ERROR. Possible error
codes are those in the #GFileError enumeration. In the error case,
@contents is set to %NULL and @length is set to zero.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error occurred</doc>
<type name="gboolean" c:type="gboolean"/>
is returned in @name_used. This string should be freed with g_free()
when not needed any longer. The returned name is in the GLib file
name encoding.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A file handle (as from open()) to the file opened for
reading and writing. The file is opened in binary mode on platforms
<doc xml:space="preserve">Reads the contents of the symbolic link @filename like the POSIX
readlink() function. The returned string is in the encoding used
for filenames. Use g_filename_to_utf8() to convert it to UTF-8.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly-allocated string with the contents of
the symbolic link, or %NULL if an error occurred.</doc>
</function>
<function name="file_set_contents" c:identifier="g_file_set_contents" version="2.8" throws="1">
<doc xml:space="preserve">Writes all of @contents to a file named @filename. This is a convenience
-wrapper around calling g_file_set_contents() with `flags` set to
+wrapper around calling g_file_set_contents_full() with `flags` set to
`G_FILE_SET_CONTENTS_CONSISTENT | G_FILE_SET_CONTENTS_ONLY_EXISTING` and
`mode` set to `0666`.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error occurred</doc>
<type name="gboolean" c:type="gboolean"/>
If the file didn’t exist before and is created, it will be given the
permissions from @mode. Otherwise, the permissions of the existing file may
be changed to @mode depending on @flags, or they may remain unchanged.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error occurred</doc>
<type name="gboolean" c:type="gboolean"/>
%G_FILE_TEST_IS_EXECUTABLE will just check that the file exists and
its name indicates that it is executable, checking for well-known
extensions and those listed in the `PATHEXT` environment variable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether a test was %TRUE</doc>
<type name="gboolean" c:type="gboolean"/>
This function is preferred over g_filename_display_name() if you know the
whole path, as it allows translation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string containing
a rendition of the basename of the filename in valid UTF-8</doc>
If you know the whole pathname of the file you should use
g_filename_display_basename(), since that allows location-based
translation of filenames.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string containing
a rendition of the filename in valid UTF-8</doc>
<function name="filename_from_uri" c:identifier="g_filename_from_uri" throws="1">
<doc xml:space="preserve">Converts an escaped ASCII-encoded URI to a local filename in the
encoding used for filenames.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string holding
the resulting filename, or %NULL on an error.</doc>
in error %G_CONVERT_ERROR_ILLEGAL_SEQUENCE. If the filename encoding is
not UTF-8 and the conversion output contains a nul character, the error
%G_CONVERT_ERROR_EMBEDDED_NUL is set and the function returns %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
The converted string, or %NULL on an error.</doc>
<function name="filename_to_uri" c:identifier="g_filename_to_uri" throws="1">
<doc xml:space="preserve">Converts an absolute filename to an escaped ASCII-encoded URI, with the path
component following Section 3.3. of RFC 2396.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string holding the resulting
URI, or %NULL on an error.</doc>
nul character, the error %G_CONVERT_ERROR_EMBEDDED_NUL is set and the
function returns %NULL. Use g_convert() to produce output that
may contain embedded nul characters.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The converted string, or %NULL on an error.</doc>
<type name="utf8" c:type="gchar*"/>
finally in the directories in the `PATH` environment variable. If
the program is found, the return value contains the full name
including the type suffix.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly-allocated
string with the absolute path, or %NULL</doc>
See g_format_size_full() for more options about how the size might be
formatted.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated formatted string containing
a human readable file size</doc>
This string should be freed with g_free() when not needed any longer.</doc>
<doc-deprecated xml:space="preserve">This function is broken due to its use of SI
suffixes to denote IEC units. Use g_format_size() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated formatted string
containing a human readable file size</doc>
This function is similar to g_format_size() but allows for flags
that modify the output. See #GFormatSizeFlags.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated formatted string
containing a human readable file size</doc>
positional parameters, as specified in the Single Unix Specification.
`glib/gprintf.h` must be explicitly included in order to use this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes printed.</doc>
<type name="gint" c:type="gint"/>
If @mem is %NULL it simply returns, so there is no need to check @mem
against %NULL before calling this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_set_application_name() has not been called, returns the result of
g_get_prgname() (which may be %NULL if g_set_prgname() has also not
been called).</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">human-readable application
name. May return %NULL</doc>
The string returned in @charset is not allocated, and should not be
freed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the returned charset is UTF-8</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="get_codeset" c:identifier="g_get_codeset">
<doc xml:space="preserve">Gets the character set for the current locale.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string containing the name
of the character set. This string must be freed with g_free().</doc>
The string returned in @charset is not allocated, and should not be
freed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the returned charset is UTF-8</doc>
<type name="gboolean" c:type="gboolean"/>
environment variable if it is set and it happens to be the same as
the current directory. This can make a difference in the case that
the current directory is the target of a symbolic link.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the current directory</doc>
<type name="filename" c:type="gchar*"/>
You may find g_get_real_time() to be more convenient.</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use g_get_real_time()
instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The return value is freshly allocated and it should be freed with
g_strfreev() when it is no longer needed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
the list of environment variables</doc>
Note that on Unix, regardless of the locale character set or
`G_FILENAME_ENCODING` value, the actual file names present
on a system might be in any random encoding or just gibberish.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the filename encoding is UTF-8.</doc>
<type name="gboolean" c:type="gboolean"/>
dependency to ensure that the new behaviour is in effect) then you
should either directly check the `HOME` environment variable yourself
or unset it before calling any functions in GLib.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current user's home directory</doc>
<type name="filename" c:type="const gchar*"/>
returned.
The encoding of the returned string is UTF-8.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the host name of the machine.</doc>
<type name="utf8" c:type="const gchar*"/>
This function consults the environment variables `LANGUAGE`, `LC_ALL`,
`LC_MESSAGES` and `LANG` to find the list of locales specified by the
user.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %NULL-terminated array of strings owned by GLib
that must not be modified or freed.</doc>
user.
g_get_language_names() returns g_get_language_names_with_category("LC_MESSAGES").</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %NULL-terminated array of strings owned by
the thread g_get_language_names_with_category was called from.
If you need the list of variants for the current locale,
use g_get_language_names().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly
allocated array of newly allocated strings with the locale variants. Free with
We try to use the clock that corresponds as closely as possible to
the passage of time as measured by system calls such as poll() but it
may not always be possible to do this.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the monotonic time, in microseconds</doc>
<type name="gint64" c:type="gint64"/>
schedule simultaneously for this process. This is intended to be
used as a parameter to g_thread_pool_new() for CPU bound tasks and
similar cases.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of schedulable threads, always greater than 0</doc>
<type name="guint" c:type="guint"/>
`/etc/os-release` provides a number of other less commonly used values that may
be useful. No key is guaranteed to be provided, so the caller should always
check if the result is %NULL.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The associated value for the requested key or %NULL if
this information is not provided.</doc>
gdk_init(), which is called by gtk_init() and the
#GtkApplication::startup handler. The program name is found by
taking the last component of @argv[0].</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the name of the program,
or %NULL if it has not been set yet. The returned string belongs
system-defined. (On Windows, it is, however, always UTF-8.) If the
real user name cannot be determined, the string "Unknown" is
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the user's real name.</doc>
<type name="filename" c:type="const gchar*"/>
You should only use this call if you are actually interested in the real
wall-clock time. g_get_monotonic_time() is probably more useful for
measuring intervals.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of microseconds since January 1, 1970 UTC.</doc>
<type name="gint64" c:type="gint64"/>
that is not user specific. For example, an application can store
a spell-check dictionary, a database of clip art, or a log file in the
CSIDL_COMMON_APPDATA folder. This information will not roam and is available
-to anyone using the computer.</doc>
-
+to anyone using the computer.
+
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">
a %NULL-terminated array of strings owned by GLib that must not be
itself.
Note that on Windows the returned list can vary depending on where
-this function is called.</doc>
-
+this function is called.
+
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">
a %NULL-terminated array of strings owned by GLib that must not be
The encoding of the returned string is system-defined. On Windows,
it is always UTF-8. The return value is never %NULL or the empty
string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the directory to use for temporary files.</doc>
<type name="filename" c:type="const gchar*"/>
If `XDG_CACHE_HOME` is undefined, the directory that serves as a common
repository for temporary Internet files is used instead. A typical path is
`C:\Documents and Settings\username\Local Settings\Temporary Internet Files`.
-See the [documentation for `CSIDL_INTERNET_CACHE`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache).</doc>
-
+See the [documentation for `CSIDL_INTERNET_CACHE`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache).
+
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string owned by GLib that
must not be modified or freed.</doc>
to roaming) application data is used instead. See the
[documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata).
Note that in this case on Windows it will be the same
-as what g_get_user_data_dir() returns.</doc>
-
+as what g_get_user_data_dir() returns.
+
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string owned by GLib that
must not be modified or freed.</doc>
opposed to roaming) application data is used instead. See the
[documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata).
Note that in this case on Windows it will be the same
-as what g_get_user_config_dir() returns.</doc>
-
+as what g_get_user_config_dir() returns.
+
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string owned by GLib that must
not be modified or freed.</doc>
string is system-defined. On UNIX, it might be the preferred file name
encoding, or something else, and there is no guarantee that it is even
consistent on a machine. On Windows, it is always UTF-8.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the user name of the current user.</doc>
<type name="filename" c:type="const gchar*"/>
This is the directory
specified in the `XDG_RUNTIME_DIR` environment variable.
In the case that this variable is not set, we return the value of
-g_get_user_cache_dir(), after verifying that it exists.</doc>
-
+g_get_user_cache_dir(), after verifying that it exists.
+
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string owned by GLib that must not be
modified or freed.</doc>
Depending on the platform, the user might be able to change the path
of the special directory without requiring the session to restart; GLib
will not reflect any change once the special directories are loaded.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the path to the specified special directory, or
%NULL if the logical id was not found. The returned string is owned by
in UTF-8.
On Windows, in case the environment variable's value contains
references to other environment variables, they are expanded.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of the environment variable, or %NULL if
the environment variable is not found. The returned string
ASCII-Compatible Encoding of any given Unicode name, which can be
used with non-IDN-aware applications and protocols. (For example,
"Παν語.org" maps to "xn--4wa8awb4637h.org".)</doc>
+ </docsection>
+ <docsection name="gstrvbuilder">
+ <doc xml:space="preserve">#GStrvBuilder is a method of easily building dynamically sized
+NULL-terminated string arrays.
+
+The following example shows how to build a two element array:
+
+|[<!-- language="C" -->
+ g_autoptr(GStrvBuilder) builder = g_strv_builder_new ();
+ g_strv_builder_add (builder, "hello");
+ g_strv_builder_add (builder, "world");
+ g_auto(GStrv) array = g_strv_builder_end (builder);
+]|</doc>
</docsection>
<docsection name="gunix">
<doc xml:space="preserve">Most of GLib is intended to be portable; in contrast, this set of
Starting from GLib 2.40, this function returns a boolean value to
indicate whether the newly added value was already in the hash table
or not.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="hash_table_contains" c:identifier="g_hash_table_contains" moved-to="HashTable.contains" version="2.32">
<doc xml:space="preserve">Checks if @key is in @hash_table.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @key is in @hash_table, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
notifiers using g_hash_table_new_full(). In the latter case the destroy
functions you supplied will be called on all keys and values during the
destruction phase.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function-macro name="hash_table_freeze" c:identifier="g_hash_table_freeze" introspectable="0">
<doc xml:space="preserve">This function is deprecated and will be removed in the next major
release of GLib. It does nothing.</doc>
-
<parameters>
<parameter name="hash_table">
<doc xml:space="preserve">a #GHashTable</doc>
Starting from GLib 2.40, this function returns a boolean value to
indicate whether the newly added value was already in the hash table
or not.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
<type name="gboolean" c:type="gboolean"/>
distinguish between a key that is not present and one which is present
and has the value %NULL. If you need this distinction, use
g_hash_table_lookup_extended().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the associated value, or %NULL if the key is not found</doc>
<type name="gpointer" c:type="gpointer"/>
You can actually pass %NULL for @lookup_key to test
whether the %NULL key exists, provided the hash and equal functions
of @hash_table are %NULL-safe.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found in the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
key and value are freed using the supplied destroy functions, otherwise
you have to make sure that any dynamically allocated values are freed
yourself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found and removed from the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
the keys and values are freed using the supplied destroy functions,
otherwise you have to make sure that any dynamically allocated
values are freed yourself.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Starting from GLib 2.40, this function returns a boolean value to
indicate whether the newly added value was already in the hash table
or not.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key did not exist yet</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="hash_table_size" c:identifier="g_hash_table_size" moved-to="HashTable.size">
<doc xml:space="preserve">Returns the number of elements contained in the #GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of key/value pairs in the #GHashTable.</doc>
<type name="guint" c:type="guint"/>
<function name="hash_table_steal" c:identifier="g_hash_table_steal" moved-to="HashTable.steal">
<doc xml:space="preserve">Removes a key and its associated value from a #GHashTable without
calling the key and value destroy functions.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found and removed from the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="hash_table_steal_all" c:identifier="g_hash_table_steal_all" moved-to="HashTable.steal_all" version="2.12">
<doc xml:space="preserve">Removes all keys and their associated values from a #GHashTable
without calling the key and value destroy functions.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
You can pass %NULL for @lookup_key, provided the hash and equal functions
of @hash_table are %NULL-safe.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key was found in the #GHashTable</doc>
<type name="gboolean" c:type="gboolean"/>
<function-macro name="hash_table_thaw" c:identifier="g_hash_table_thaw" introspectable="0">
<doc xml:space="preserve">This function is deprecated and will be removed in the next major
release of GLib. It does nothing.</doc>
-
<parameters>
<parameter name="hash_table">
<doc xml:space="preserve">a #GHashTable</doc>
If the reference count drops to 0, all keys and values will be
destroyed, and all memory allocated by the hash table is released.
This function is MT-safe and may be called from any thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</docsection>
<function-macro name="hook_append" c:identifier="g_hook_append" introspectable="0">
<doc xml:space="preserve">Appends a #GHook onto the end of a #GHookList.</doc>
-
<parameters>
<parameter name="hook_list">
<doc xml:space="preserve">a #GHookList</doc>
</function-macro>
<function name="hook_destroy" c:identifier="g_hook_destroy" moved-to="Hook.destroy">
<doc xml:space="preserve">Destroys a #GHook, given its ID.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the #GHook was found in the #GHookList and destroyed</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="hook_destroy_link" c:identifier="g_hook_destroy_link" moved-to="Hook.destroy_link">
<doc xml:space="preserve">Removes one #GHook from a #GHookList, marking it
inactive and calling g_hook_unref() on it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="hook_free" c:identifier="g_hook_free" moved-to="Hook.free">
<doc xml:space="preserve">Calls the #GHookList @finalize_hook function if it exists,
and frees the memory allocated for the #GHook.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="hook_insert_before" c:identifier="g_hook_insert_before" moved-to="Hook.insert_before">
<doc xml:space="preserve">Inserts a #GHook into a #GHookList, before a given #GHook.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="hook_prepend" c:identifier="g_hook_prepend" moved-to="Hook.prepend">
<doc xml:space="preserve">Prepends a #GHook on the start of a #GHookList.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Decrements the reference count of a #GHook.
If the reference count falls to 0, the #GHook is removed
from the #GHookList and g_hook_free() is called to free it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that a hostname might contain a mix of encoded and unencoded
segments, and so it is possible for g_hostname_is_non_ascii() and
g_hostname_is_ascii_encoded() to both return %TRUE for a name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @hostname contains any ASCII-encoded
segments.</doc>
(Eg, "192.168.0.1".)
Since 2.66, IPv6 addresses with a zone-id are accepted (RFC6874).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @hostname is an IP address</doc>
<type name="gboolean" c:type="gboolean"/>
Note that a hostname might contain a mix of encoded and unencoded
segments, and so it is possible for g_hostname_is_non_ascii() and
g_hostname_is_ascii_encoded() to both return %TRUE for a name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @hostname contains any non-ASCII characters</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Converts @hostname to its canonical ASCII form; an ASCII-only
string containing no uppercase letters and not ending with a
trailing dot.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">an ASCII hostname, which must be freed, or %NULL if
-@hostname is in some way invalid.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">an ASCII hostname, which must be freed,
+ or %NULL if @hostname is in some way invalid.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
Of course if @hostname is not an internationalized hostname, then
the canonical presentation form will be entirely ASCII.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a UTF-8 hostname, which must be freed, or %NULL if
-@hostname is in some way invalid.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">a UTF-8 hostname, which must be freed,
+ or %NULL if @hostname is in some way invalid.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
</function>
<function-macro name="htonl" c:identifier="g_htonl" introspectable="0">
<doc xml:space="preserve">Converts a 32-bit integer value from host to network byte order.</doc>
-
<parameters>
<parameter name="val">
<doc xml:space="preserve">a 32-bit integer value in host byte order</doc>
</function-macro>
<function-macro name="htons" c:identifier="g_htons" introspectable="0">
<doc xml:space="preserve">Converts a 16-bit integer value from host to network byte order.</doc>
-
<parameters>
<parameter name="val">
<doc xml:space="preserve">a 16-bit integer value in host byte order</doc>
positive number of non-reversible conversions as replacement characters were
used), or it may return -1 and set an error such as %EILSEQ, in such a
situation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">count of non-reversible conversions, or -1 on error</doc>
<type name="gsize" c:type="gsize"/>
GLib provides g_convert() and g_locale_to_utf8() which are likely
more convenient than the raw iconv wrappers.</doc>
-
<return-value>
<doc xml:space="preserve">a "conversion descriptor", or (GIConv)-1 if
opening the converter failed.</doc>
the callback will be invoked in whichever thread is running that main
context. You can do these steps manually if you need greater control or to
use a custom main context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
the callback will be invoked in whichever thread is running that main
context. You can do these steps manually if you need greater control or to
use a custom main context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
</function>
<function name="idle_remove_by_data" c:identifier="g_idle_remove_by_data">
<doc xml:space="preserve">Removes the idle function with the given data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if an idle source was found and removed.</doc>
<type name="gboolean" c:type="gboolean"/>
executed. Note that the default priority for idle sources is
%G_PRIORITY_DEFAULT_IDLE, as compared to other sources which
have a default priority of %G_PRIORITY_DEFAULT.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly-created idle source</doc>
<type name="Source" c:type="GSource*"/>
It can be passed to g_hash_table_new() as the @key_equal_func
parameter, when using non-%NULL pointers to 64-bit integers as keys in a
#GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the two keys match.</doc>
<type name="gboolean" c:type="gboolean"/>
It can be passed to g_hash_table_new() as the @hash_func parameter,
when using non-%NULL pointers to 64-bit integer values as keys in a
#GHashTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a hash value corresponding to the key.</doc>
<type name="guint" c:type="guint"/>
Note that this function acts on pointers to #gint, not on #gint
directly: if your hash table's keys are of the form
`GINT_TO_POINTER (n)`, use g_direct_equal() instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the two keys match.</doc>
<type name="gboolean" c:type="gboolean"/>
Note that this function acts on pointers to #gint, not on #gint
directly: if your hash table's keys are of the form
`GINT_TO_POINTER (n)`, use g_direct_hash() instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a hash value corresponding to the key.</doc>
<type name="guint" c:type="guint"/>
This function must not be used before library constructors have finished
running. In particular, this means it cannot be used to initialize global
variables in C++.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a canonical representation for the string</doc>
<type name="utf8" c:type="const gchar*"/>
This function must not be used before library constructors have finished
running. In particular, this means it cannot be used to initialize global
variables in C++.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a canonical representation for the string</doc>
<type name="utf8" c:type="const gchar*"/>
<function name="io_add_watch" c:identifier="g_io_add_watch" shadowed-by="io_add_watch_full" introspectable="0">
<doc xml:space="preserve">Adds the #GIOChannel into the default main loop context
with the default priority.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the event source id</doc>
<type name="guint" c:type="guint"/>
This internally creates a main loop source using g_io_create_watch()
and attaches it to the main loop context with g_source_attach().
You can do these steps manually if you need greater control.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the event source id</doc>
<type name="guint" c:type="guint"/>
</function>
<function name="io_channel_error_from_errno" c:identifier="g_io_channel_error_from_errno" moved-to="IOChannel.error_from_errno">
<doc xml:space="preserve">Converts an `errno` error number to a #GIOChannelError.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIOChannelError error number, e.g.
%G_IO_CHANNEL_ERROR_INVAL.</doc>
On Windows, polling a #GSource created to watch a channel for a socket
puts the socket in non-blocking mode. This is a side-effect of the
implementation and unavoidable.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSource</doc>
<type name="Source" c:type="GSource*"/>
<doc xml:space="preserve">A convenience macro to get the next element in a #GList.
Note that it is considered perfectly acceptable to access
@list->next directly.</doc>
-
<parameters>
<parameter name="list">
<doc xml:space="preserve">an element in a #GList</doc>
<doc xml:space="preserve">A convenience macro to get the previous element in a #GList.
Note that it is considered perfectly acceptable to access
@list->prev directly.</doc>
-
<parameters>
<parameter name="list">
<doc xml:space="preserve">an element in a #GList</doc>
array are in system codepage encoding, while in most of the typical
use cases for environment variables in GLib-using programs you want
the UTF-8 encoding that this function and g_getenv() provide.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
a %NULL-terminated list of strings which must be freed with
argument is positive. A nul character found inside the string will result
in error %G_CONVERT_ERROR_ILLEGAL_SEQUENCE. Use g_convert() to convert
input that may contain embedded nul characters.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
A newly-allocated buffer containing the converted string,
the %G_CONVERT_ERROR_ILLEGAL_SEQUENCE error for backward compatibility with
earlier versions of this library. Use g_convert() to produce output that
may contain embedded nul characters.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The converted string, or %NULL on an error.</doc>
<type name="utf8" c:type="gchar*"/>
If [structured logging is enabled][using-structured-logging] this will
output via the structured log writer function (see g_log_set_writer_func()).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
stderr is used for levels %G_LOG_LEVEL_ERROR, %G_LOG_LEVEL_CRITICAL,
%G_LOG_LEVEL_WARNING and %G_LOG_LEVEL_MESSAGE. stdout is used for
-the rest.
+the rest, unless stderr was requested by
+g_log_writer_default_set_use_stderr().
This has no effect if structured logging is enabled; see
[Using Structured Logging][using-structured-logging].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This has no effect if structured logging is enabled; see
[Using Structured Logging][using-structured-logging].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_log_structured_array()) are fatal only if the default log writer is used;
otherwise it is up to the writer function to determine which log messages
are fatal. See [Using Structured Logging][using-structured-logging].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the old fatal mask</doc>
<type name="LogLevelFlags" c:type="GLogLevelFlags"/>
This has no effect if structured logging is enabled; see
[Using Structured Logging][using-structured-logging].</doc>
-
<return-value>
<doc xml:space="preserve">the previous default log handler</doc>
<type name="LogFunc" c:type="GLogFunc"/>
%G_LOG_LEVEL_CRITICAL. You should typically not set
%G_LOG_LEVEL_WARNING, %G_LOG_LEVEL_MESSAGE, %G_LOG_LEVEL_INFO or
%G_LOG_LEVEL_DEBUG as fatal except inside of test programs.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the old fatal mask for the log domain</doc>
<type name="LogLevelFlags" c:type="GLogLevelFlags"/>
g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
| G_LOG_FLAG_RECURSION, my_log_handler, NULL);
]|</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the id of the new handler</doc>
<type name="guint" c:type="guint"/>
This has no effect if structured logging is enabled; see
[Using Structured Logging][using-structured-logging].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the id of the new handler</doc>
<type name="guint" c:type="guint"/>
log messages are formatted and outputted.
There can only be one writer function. It is an error to set more than one.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The default writer function for `stdout` and `stderr` will automatically
append a new-line character after the message, so you should not add one
manually to the format string.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This assumes that @log_level is already present in @fields (typically as the
`PRIORITY` field).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="log_structured_standard" c:identifier="g_log_structured_standard" introspectable="0">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_variant_print() will be used to convert the value into a string.
For more details on its usage and about the parameters, see g_log_structured().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
As with g_log_default_handler(), this function drops debug and informational
messages unless their log domain (or `all`) is listed in the space-separated
-`G_MESSAGES_DEBUG` environment variable.</doc>
-
+`G_MESSAGES_DEBUG` environment variable.
+
+g_log_writer_default() uses the mask set by g_log_set_always_fatal() to
+determine which messages are fatal. When using a custom writer func instead it is
+up to the writer function to determine which log messages are fatal.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_LOG_WRITER_HANDLED on success, %G_LOG_WRITER_UNHANDLED otherwise</doc>
<type name="LogWriterOutput" c:type="GLogWriterOutput"/>
The returned string does **not** have a trailing new-line character. It is
encoded in the character set of the current locale, which is not necessarily
UTF-8.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">string containing the formatted log message, in
the character set of the current locale</doc>
|[<!-- language="C" -->
is_journald = g_log_writer_is_journald (fileno (stderr));
]|</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @output_fd points to the journal, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
If GLib has been compiled without systemd support, this function is still
defined, but will always return %G_LOG_WRITER_UNHANDLED.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_LOG_WRITER_HANDLED on success, %G_LOG_WRITER_UNHANDLED otherwise</doc>
<type name="LogWriterOutput" c:type="GLogWriterOutput"/>
<function name="log_writer_standard_streams" c:identifier="g_log_writer_standard_streams" version="2.50">
<doc xml:space="preserve">Format a structured log message and print it to either `stdout` or `stderr`,
depending on its log level. %G_LOG_LEVEL_INFO and %G_LOG_LEVEL_DEBUG messages
-are sent to `stdout`; all other log levels are sent to `stderr`. Only fields
+are sent to `stdout`, or to `stderr` if requested by
+g_log_writer_default_set_use_stderr();
+all other log levels are sent to `stderr`. Only fields
which are understood by this function are included in the formatted string
which is printed.
A trailing new-line character is added to the log message when it is printed.
This is suitable for use as a #GLogWriterFunc.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_LOG_WRITER_HANDLED on success, %G_LOG_WRITER_UNHANDLED otherwise</doc>
<type name="LogWriterOutput" c:type="GLogWriterOutput"/>
<doc xml:space="preserve">Check whether the given @output_fd file descriptor supports ANSI color
escape sequences. If so, they can safely be used when formatting log
messages.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if ANSI color escapes are supported, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
If [structured logging is enabled][using-structured-logging] this will
output via the structured log writer function (see g_log_set_writer_func()).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function-macro name="macro__has_attribute" c:identifier="g_macro__has_attribute" introspectable="0">
-
<parameters>
<parameter name="x">
</parameter>
</parameters>
</function-macro>
<function-macro name="macro__has_builtin" c:identifier="g_macro__has_builtin" introspectable="0">
-
<parameters>
<parameter name="x">
</parameter>
</parameters>
</function-macro>
<function-macro name="macro__has_feature" c:identifier="g_macro__has_feature" introspectable="0">
-
<parameters>
<parameter name="x">
</parameter>
used for main loop functions when a main loop is not explicitly
specified, and corresponds to the "main" main loop. See also
g_main_context_get_thread_default().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the global default main context.</doc>
<type name="MainContext" c:type="GMainContext*"/>
If you need to hold a reference on the context, use
g_main_context_ref_thread_default() instead.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the thread-default #GMainContext, or
%NULL if the thread-default context is the global default context.</doc>
<type name="MainContext" c:type="GMainContext*"/>
g_main_context_get_thread_default(), if the thread-default context
is the global default context, this will return that #GMainContext
(with a ref added to it) rather than returning %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the thread-default #GMainContext. Unref
with g_main_context_unref() when you are done with it.</doc>
</function>
<function name="main_current_source" c:identifier="g_main_current_source" version="2.12">
<doc xml:space="preserve">Returns the currently firing source for this thread.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The currently firing source or %NULL.</doc>
<type name="Source" c:type="GSource*"/>
</return-value>
arbitrary callbacks. Instead, structure your code so that you
simply return to the main loop and then get called again when
there is more work to do.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The main loop recursion level in the current thread</doc>
<type name="gint" c:type="gint"/>
<function name="malloc" c:identifier="g_malloc">
<doc xml:space="preserve">Allocates @n_bytes bytes of memory.
If @n_bytes is 0 it returns %NULL.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="malloc0" c:identifier="g_malloc0">
<doc xml:space="preserve">Allocates @n_bytes bytes of memory, initialized to 0's.
If @n_bytes is 0 it returns %NULL.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="malloc0_n" c:identifier="g_malloc0_n" version="2.24">
<doc xml:space="preserve">This function is similar to g_malloc0(), allocating (@n_blocks * @n_block_bytes) bytes,
but care is taken to detect possible overflow during multiplication.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="malloc_n" c:identifier="g_malloc_n" version="2.24">
<doc xml:space="preserve">This function is similar to g_malloc(), allocating (@n_blocks * @n_block_bytes) bytes,
but care is taken to detect possible overflow during multiplication.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
as parse errors for boolean-valued attributes (again of type
%G_MARKUP_ERROR_INVALID_CONTENT). In all of these cases %FALSE
will be returned and @error will be set as appropriate.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful</doc>
<type name="gboolean" c:type="gboolean"/>
except for tabstop, newline and carriage return. The character
references in this range are not valid XML 1.0, but they are
valid XML 1.1 and will be accepted by the GMarkup parser.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string with the escaped text</doc>
<type name="utf8" c:type="gchar*"/>
"</purchase>",
store, item);
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">newly allocated result from formatting
operation. Free with g_free().</doc>
<doc xml:space="preserve">Formats the data in @args according to @format, escaping
all string and character arguments in the fashion
of g_markup_escape_text(). See g_markup_printf_escaped().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">newly allocated result from formatting
operation. Free with g_free().</doc>
by a non-GLib-based API.</doc>
<doc-deprecated xml:space="preserve">GLib always uses the system malloc, so this function always
returns %TRUE.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">if %TRUE, malloc() and g_malloc() can be mixed.</doc>
<type name="gboolean" c:type="gboolean"/>
no longer works. There are many other useful tools for memory
profiling these days which can be used instead.</doc>
<doc-deprecated xml:space="preserve">Use other memory profiling tools instead</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
reached. Therefore this function is now deprecated and is just a stub.</doc>
<doc-deprecated xml:space="preserve">This function now does nothing. Use other memory
profiling tools instead</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameter>
</parameters>
</function>
- <function name="memdup" c:identifier="g_memdup">
+ <function name="memdup" c:identifier="g_memdup" deprecated="1" deprecated-version="2.68">
<doc xml:space="preserve">Allocates @byte_size bytes of memory, and copies @byte_size bytes into it
from @mem. If @mem is %NULL it returns %NULL.</doc>
-
+ <doc-deprecated xml:space="preserve">Use g_memdup2() instead, as it accepts a #gsize argument
+ for @byte_size, avoiding the possibility of overflow in a #gsize → #guint
+ conversion</doc-deprecated>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the newly-allocated copy of the memory, or %NULL if @mem
is %NULL.</doc>
<doc xml:space="preserve">Copies a block of memory @len bytes long, from @src to @dest.
The source and destination areas may overlap.</doc>
<doc-deprecated xml:space="preserve">Just use memmove().</doc-deprecated>
-
<parameters>
<parameter name="dest">
<doc xml:space="preserve">the destination address to copy the bytes to.</doc>
It is recommended that custom log writer functions re-use the
`G_MESSAGES_DEBUG` environment variable, rather than inventing a custom one,
so that developers can re-use the same debugging techniques and tools across
-projects.
+projects. Since GLib 2.68, this can be implemented by dropping messages
+for which g_log_writer_default_would_drop() returns %TRUE.
## Testing for Messages ## {#testing-for-messages}
<function name="mkdir_with_parents" c:identifier="g_mkdir_with_parents" version="2.8">
<doc xml:space="preserve">Create a directory if it doesn't already exist. Create intermediate
parent directories as needed, too.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if the directory already exists, or was successfully
created. Returns -1 if an error occurred, with errno set.</doc>
If you are going to be creating a temporary directory inside the
directory returned by g_get_tmp_dir(), you might want to use
g_dir_make_tmp() instead.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A pointer to @tmpl, which has been
modified to hold the directory name. In case of errors, %NULL is
If you are going to be creating a temporary directory inside the
directory returned by g_get_tmp_dir(), you might want to use
g_dir_make_tmp() instead.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A pointer to @tmpl, which has been
modified to hold the directory name. In case of errors, %NULL is
The X string will be modified to form the name of a file that
didn't exist. The string should be in the GLib file name encoding.
Most importantly, on Windows it should be in UTF-8.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A file handle (as from open()) to the file
opened for reading and writing. The file is opened in binary
string will be modified to form the name of a file that didn't exist.
The string should be in the GLib file name encoding. Most importantly,
on Windows it should be in UTF-8.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A file handle (as from open()) to the file
opened for reading and writing. The file handle should be
Since the returned pointer is already casted to the right type,
it is normally unnecessary to cast it explicitly, and doing
so might hide memory allocation errors.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">the type of the elements to allocate</doc>
Since the returned pointer is already casted to the right type,
it is normally unnecessary to cast it explicitly, and doing
so might hide memory allocation errors.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">the type of the elements to allocate.</doc>
</function-macro>
<function-macro name="newa" c:identifier="g_newa" introspectable="0">
<doc xml:space="preserve">Wraps g_alloca() in a more typesafe manner.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">Type of memory chunks to be allocated</doc>
</function-macro>
<function-macro name="node_append" c:identifier="g_node_append" introspectable="0">
<doc xml:space="preserve">Inserts a #GNode as the last child of the given parent.</doc>
-
<parameters>
<parameter name="parent">
<doc xml:space="preserve">the #GNode to place the new #GNode under</doc>
</function-macro>
<function-macro name="node_append_data" c:identifier="g_node_append_data" introspectable="0">
<doc xml:space="preserve">Inserts a new #GNode as the last child of the given parent.</doc>
-
<parameters>
<parameter name="parent">
<doc xml:space="preserve">the #GNode to place the new #GNode under</doc>
</function-macro>
<function-macro name="node_first_child" c:identifier="g_node_first_child" introspectable="0">
<doc xml:space="preserve">Gets the first child of a #GNode.</doc>
-
<parameters>
<parameter name="node">
<doc xml:space="preserve">a #GNode</doc>
</function-macro>
<function-macro name="node_insert_data" c:identifier="g_node_insert_data" introspectable="0">
<doc xml:space="preserve">Inserts a new #GNode at the given position.</doc>
-
<parameters>
<parameter name="parent">
<doc xml:space="preserve">the #GNode to place the new #GNode under</doc>
</function-macro>
<function-macro name="node_insert_data_after" c:identifier="g_node_insert_data_after" introspectable="0">
<doc xml:space="preserve">Inserts a new #GNode after the given sibling.</doc>
-
<parameters>
<parameter name="parent">
<doc xml:space="preserve">the #GNode to place the new #GNode under</doc>
</function-macro>
<function-macro name="node_insert_data_before" c:identifier="g_node_insert_data_before" introspectable="0">
<doc xml:space="preserve">Inserts a new #GNode before the given sibling.</doc>
-
<parameters>
<parameter name="parent">
<doc xml:space="preserve">the #GNode to place the new #GNode under</doc>
</function-macro>
<function-macro name="node_next_sibling" c:identifier="g_node_next_sibling" introspectable="0">
<doc xml:space="preserve">Gets the next sibling of a #GNode.</doc>
-
<parameters>
<parameter name="node">
<doc xml:space="preserve">a #GNode</doc>
</function-macro>
<function-macro name="node_prepend_data" c:identifier="g_node_prepend_data" introspectable="0">
<doc xml:space="preserve">Inserts a new #GNode as the first child of the given parent.</doc>
-
<parameters>
<parameter name="parent">
<doc xml:space="preserve">the #GNode to place the new #GNode under</doc>
</function-macro>
<function-macro name="node_prev_sibling" c:identifier="g_node_prev_sibling" introspectable="0">
<doc xml:space="preserve">Gets the previous sibling of a #GNode.</doc>
-
<parameters>
<parameter name="node">
<doc xml:space="preserve">a #GNode</doc>
</function-macro>
<function-macro name="ntohl" c:identifier="g_ntohl" introspectable="0">
<doc xml:space="preserve">Converts a 32-bit integer value from network to host byte order.</doc>
-
<parameters>
<parameter name="val">
<doc xml:space="preserve">a 32-bit integer value in network byte order</doc>
</function-macro>
<function-macro name="ntohs" c:identifier="g_ntohs" introspectable="0">
<doc xml:space="preserve">Converts a 16-bit integer value from network to host byte order.</doc>
-
<parameters>
<parameter name="val">
<doc xml:space="preserve">a 16-bit integer value in network byte order</doc>
</function-macro>
<function name="nullify_pointer" c:identifier="g_nullify_pointer">
<doc xml:space="preserve">Set the pointer at the specified location to %NULL.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
On Windows consider using the `G_DEBUGGER` environment
variable (see [Running GLib Applications](glib-running.html)) and
calling g_on_error_stack_trace() instead.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
exception, which will crash the program. If the `G_DEBUGGER` environment
variable is set, a debugger will be invoked to attach and
handle that exception (see [Running GLib Applications](glib-running.html)).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
return my_once.retval;
}
]|</doc>
-
<parameters>
<parameter name="once">
<doc xml:space="preserve">a #GOnce structure</doc>
}
// use initialization_value here
-]|</doc>
-
+]|
+
+While @location has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the initialization section should be entered,
%FALSE and blocks otherwise</doc>
0-initialized initialization variable, and an initialization value
other than 0. Sets the variable to the initialization value, and
releases concurrent threads blocking in g_once_init_enter() on this
-initialization variable.</doc>
-
+initialization variable.
+
+While @location has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @string is equal to "help", all the available keys in @keys
are printed out to standard error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the combined set of bit flags.</doc>
<type name="guint" c:type="guint"/>
before the last slash. If @file_name consists only of directory
separators (and on Windows, possibly a drive letter), a single
separator is returned. If @file_name is empty, it gets ".".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string containing the last
component of the filename</doc>
If the file name has no directory components "." is returned.
The returned string should be freed when no longer needed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the directory components of the file</doc>
<type name="filename" c:type="gchar*"/>
directory as returned by getcwd() or g_get_current_dir()
either. Such paths should be avoided, or need to be handled using
Windows-specific code.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file_name is absolute</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Returns a pointer into @file_name after the root component,
i.e. after the "/" in UNIX or "C:\" under Windows. If @file_name
is not an absolute path it returns %NULL.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer into @file_name after the
root component</doc>
not be obtained by g_strreverse(). This works only if the string
does not contain any multibyte characters. GLib offers the
g_utf8_strreverse() function to reverse UTF-8 encoded strings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string matches @pspec</doc>
<type name="gboolean" c:type="gboolean"/>
function is to be called in a loop, it's more efficient to compile
the pattern once with g_pattern_spec_new() and call
g_pattern_match_string() repeatedly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string matches @pspec</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Matches a string against a compiled pattern. If the string is to be
matched against more than one pattern, consider using
g_pattern_match() instead while supplying the reversed string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string matches @pspec</doc>
<type name="gboolean" c:type="gboolean"/>
For portability reasons, you may only lock on the bottom 32 bits of
the pointer.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
For portability reasons, you may only lock on the bottom 32 bits of
the pointer.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the lock was acquired</doc>
<type name="gboolean" c:type="gboolean"/>
For portability reasons, you may only lock on the bottom 32 bits of
the pointer.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Windows. If you need to use g_poll() in code that has to run on
Windows, the easiest solution is to construct all of your
#GPollFDs with g_io_channel_win32_make_pollfd().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of entries in @fds whose @revents fields
were filled in, or 0 if the operation timed out, or -1 on error or
If *@err is %NULL (ie: an error variable is present but there is no
error condition) then also do nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
purpose message windows or even files. Instead, libraries should
use g_log(), g_log_structured(), or the convenience macros g_message(),
g_warning() and g_error().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_printerr() should not be used from within libraries.
Instead g_log() or g_log_structured() should be used, or the convenience
macros g_message(), g_warning() and g_error().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
own new-line character.
`glib/gprintf.h` must be explicitly included in order to use this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes printed.</doc>
<type name="gint" c:type="gint"/>
<function name="printf_string_upper_bound" c:identifier="g_printf_string_upper_bound" introspectable="0">
<doc xml:space="preserve">Calculates the maximum space needed to store the output
of the sprintf() function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximum space needed to store the formatted string</doc>
<type name="gsize" c:type="gsize"/>
Note that @src is no longer valid after this call. If you want
to keep using the same GError*, you need to set it to %NULL
after calling this function on it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">If @dest is %NULL, free @src; otherwise, moves @src into *@dest.
*@dest must be %NULL. After the move, add a prefix as with
g_prefix_error().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This does pointer comparisons only. If you want to use more complex equality
checks, such as string comparisons, use g_ptr_array_find_with_equal_func().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
<type name="gboolean" c:type="gboolean"/>
@equal_func is called with the element from the array as its first parameter,
and @needle as its second parameter. If @equal_func is %NULL, pointer
equality is used.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @needle is one of the elements of @haystack</doc>
<type name="gboolean" c:type="gboolean"/>
This does not perform bounds checking on the given @index_,
so you are responsible for checking it against the array length.</doc>
-
<parameters>
<parameter name="array">
<doc xml:space="preserve">a #GPtrArray</doc>
the comparison routine accepts a user data argument.
This is guaranteed to be a stable sort since version 2.32.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function must not be used before library constructors have finished
running. In particular, this means it cannot be used to initialize global
variables in C++.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GQuark identifying the string, or 0 if @string is %NULL</doc>
<type name="Quark" c:type="GQuark"/>
This function must not be used before library constructors have finished
running. In particular, this means it cannot be used to initialize global
variables in C++.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GQuark identifying the string, or 0 if @string is %NULL</doc>
<type name="Quark" c:type="GQuark"/>
</function>
<function name="quark_to_string" c:identifier="g_quark_to_string">
<doc xml:space="preserve">Gets the string associated with the given #GQuark.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the string associated with the #GQuark</doc>
<type name="utf8" c:type="const gchar*"/>
This function must not be used before library constructors have finished
running.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GQuark associated with the string, or 0 if @string is
%NULL or there is no #GQuark associated with it</doc>
<function-macro name="rand_boolean" c:identifier="g_rand_boolean" introspectable="0">
<doc xml:space="preserve">Returns a random #gboolean from @rand_.
This corresponds to an unbiased coin toss.</doc>
-
<parameters>
<parameter name="rand_">
<doc xml:space="preserve">a #GRand</doc>
</function-macro>
<function name="random_double" c:identifier="g_random_double">
<doc xml:space="preserve">Returns a random #gdouble equally distributed over the range [0..1).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="gdouble" c:type="gdouble"/>
<function name="random_double_range" c:identifier="g_random_double_range">
<doc xml:space="preserve">Returns a random #gdouble equally distributed over the range
[@begin..@end).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="gdouble" c:type="gdouble"/>
<function name="random_int" c:identifier="g_random_int">
<doc xml:space="preserve">Return a random #guint32 equally distributed over the range
[0..2^32-1].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="guint32" c:type="guint32"/>
<function name="random_int_range" c:identifier="g_random_int_range">
<doc xml:space="preserve">Returns a random #gint32 equally distributed over the range
[@begin..@end-1].</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number</doc>
<type name="gint32" c:type="gint32"/>
<function name="random_set_seed" c:identifier="g_random_set_seed">
<doc xml:space="preserve">Sets the seed for the global random number generator, which is used
by the g_random_* functions, to @seed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="rc_box_acquire" c:identifier="g_rc_box_acquire" version="2.58">
<doc xml:space="preserve">Acquires a reference on the data pointed by @mem_block.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the data,
with its reference count increased</doc>
The allocated data is guaranteed to be suitably aligned for any
built-in type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
The allocated data is guaranteed to be suitably aligned for any
built-in type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
<doc xml:space="preserve">Allocates a new block of data with reference counting
semantics, and copies @block_size bytes of @mem_block
into it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the allocated
memory</doc>
</function>
<function name="rc_box_get_size" c:identifier="g_rc_box_get_size" version="2.58">
<doc xml:space="preserve">Retrieves the size of the reference counted data pointed by @mem_block.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the data, in bytes</doc>
<type name="gsize" c:type="gsize"/>
This macro calls g_rc_box_alloc() with `sizeof (@type)` and
casts the returned pointer to a pointer of the given @type,
avoiding a type cast in the source code.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type to allocate, typically a structure name</doc>
This macro calls g_rc_box_alloc0() with `sizeof (@type)` and
casts the returned pointer to a pointer of the given @type,
avoiding a type cast in the source code.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type to allocate, typically a structure name</doc>
If the reference was the last one, it will free the
resources allocated for @mem_block.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the reference was the last one, it will call @clear_func
to clear the contents of @mem_block, and then will free the
resources allocated for @mem_block.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
have been moved. @mem may be %NULL, in which case it's considered to
have zero-length. @n_bytes may be 0, in which case %NULL will be returned
and @mem will be freed unless it is %NULL.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the new address of the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="realloc_n" c:identifier="g_realloc_n" version="2.24">
<doc xml:space="preserve">This function is similar to g_realloc(), allocating (@n_blocks * @n_block_bytes) bytes,
but care is taken to detect possible overflow during multiplication.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the new address of the allocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
</function>
<function name="ref_count_compare" c:identifier="g_ref_count_compare" version="2.58">
<doc xml:space="preserve">Compares the current value of @rc with @val.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the reference count is the same
as the given value</doc>
</function>
<function name="ref_count_dec" c:identifier="g_ref_count_dec" version="2.58">
<doc xml:space="preserve">Decreases the reference count.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the reference count reached 0, and %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="ref_count_inc" c:identifier="g_ref_count_inc" version="2.58">
<doc xml:space="preserve">Increases the reference count.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="ref_count_init" c:identifier="g_ref_count_init" version="2.58">
<doc xml:space="preserve">Initializes a reference count variable.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="ref_string_acquire" c:identifier="g_ref_string_acquire" version="2.58">
<doc xml:space="preserve">Acquires a reference on a string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the given string, with its reference count increased</doc>
<type name="utf8" c:type="char*"/>
</function>
<function name="ref_string_length" c:identifier="g_ref_string_length" version="2.58">
<doc xml:space="preserve">Retrieves the length of @str.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the given string, in bytes</doc>
<type name="gsize" c:type="gsize"/>
<function name="ref_string_new" c:identifier="g_ref_string_new" version="2.58">
<doc xml:space="preserve">Creates a new reference counted string and copies the contents of @str
into it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created reference counted string</doc>
<type name="utf8" c:type="char*"/>
If you call this function multiple times with the same @str, or with
the same contents of @str, it will return a new reference, instead of
creating a new string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created reference
counted string, or a new reference to an existing string</doc>
Since this function does not stop at nul bytes, it is the caller's
responsibility to ensure that @str has at least @len addressable bytes.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created reference counted string</doc>
<type name="utf8" c:type="char*"/>
<function name="ref_string_release" c:identifier="g_ref_string_release" version="2.58">
<doc xml:space="preserve">Releases a reference on a string; if it was the last reference, the
resources allocated by the string are freed as well.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
does not contain references and may be evaluated without information
about actual match, but '\0\1' (whole match followed by first
subpattern) requires valid #GMatchInfo object.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @replacement is a valid replacement string</doc>
<type name="gboolean" c:type="gboolean"/>
For completeness, @length can be -1 for a nul-terminated string.
In this case the output string will be of course equal to @string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated escaped string</doc>
<type name="utf8" c:type="gchar*"/>
@string can contain nul characters that are replaced with "\0",
in this case remember to specify the correct length of @string
in @length.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated escaped string</doc>
<type name="utf8" c:type="gchar*"/>
If this function is to be called on the same @pattern more than
once, it's more efficient to compile the pattern once with
g_regex_new() and then use g_regex_match().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the string matched, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
separate characters wherever it matches the empty string between
characters. For example splitting "ab c" using as a separator
"\s*", you will get "a", "b" and "c".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of strings. Free
it using g_strfreev()</doc>
that were previously returned from g_get_user_special_dir()
that can't be freed. We ensure to only leak the data for
the directories that actually changed value though.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@n_structs elements of type @struct_type. It returns the new address of
the memory, which may have been moved.
Care is taken to avoid overflow when calculating the size of the allocated block.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">the type of the elements to allocate</doc>
</parameters>
</function-macro>
<function-macro name="return_if_fail" c:identifier="g_return_if_fail" introspectable="0">
-
<parameters>
<parameter name="expr">
</parameter>
<function name="return_if_fail_warning" c:identifier="g_return_if_fail_warning" introspectable="0">
<doc xml:space="preserve">Internal function used to print messages from the public g_return_if_fail()
and g_return_val_if_fail() macros.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function-macro name="return_val_if_fail" c:identifier="g_return_val_if_fail" introspectable="0">
-
<parameters>
<parameter name="expr">
</parameter>
</parameters>
</function-macro>
<function-macro name="return_val_if_reached" c:identifier="g_return_val_if_reached" introspectable="0">
-
<parameters>
<parameter name="val">
</parameter>
See your C library manual for more details about how rmdir() works
on your system.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if the directory was successfully removed, -1 if an error
occurred</doc>
<function-macro name="scanner_add_symbol" c:identifier="g_scanner_add_symbol" introspectable="0" deprecated="1" deprecated-version="2.2">
<doc xml:space="preserve">Adds a symbol to the default scope.</doc>
<doc-deprecated xml:space="preserve">Use g_scanner_scope_add_symbol() instead.</doc-deprecated>
-
<parameters>
<parameter name="scanner">
<doc xml:space="preserve">a #GScanner</doc>
<function-macro name="scanner_foreach_symbol" c:identifier="g_scanner_foreach_symbol" introspectable="0" deprecated="1" deprecated-version="2.2">
<doc xml:space="preserve">Calls a function for each symbol in the default scope.</doc>
<doc-deprecated xml:space="preserve">Use g_scanner_scope_foreach_symbol() instead.</doc-deprecated>
-
<parameters>
<parameter name="scanner">
<doc xml:space="preserve">a #GScanner</doc>
<function-macro name="scanner_freeze_symbol_table" c:identifier="g_scanner_freeze_symbol_table" introspectable="0" deprecated="1" deprecated-version="2.2">
<doc xml:space="preserve">There is no reason to use this macro, since it does nothing.</doc>
<doc-deprecated xml:space="preserve">This macro does nothing.</doc-deprecated>
-
<parameters>
<parameter name="scanner">
<doc xml:space="preserve">a #GScanner</doc>
<function-macro name="scanner_remove_symbol" c:identifier="g_scanner_remove_symbol" introspectable="0" deprecated="1" deprecated-version="2.2">
<doc xml:space="preserve">Removes a symbol from the default scope.</doc>
<doc-deprecated xml:space="preserve">Use g_scanner_scope_remove_symbol() instead.</doc-deprecated>
-
<parameters>
<parameter name="scanner">
<doc xml:space="preserve">a #GScanner</doc>
<function-macro name="scanner_thaw_symbol_table" c:identifier="g_scanner_thaw_symbol_table" introspectable="0" deprecated="1" deprecated-version="2.2">
<doc xml:space="preserve">There is no reason to use this macro, since it does nothing.</doc>
<doc-deprecated xml:space="preserve">This macro does nothing.</doc-deprecated>
-
<parameters>
<parameter name="scanner">
<doc xml:space="preserve">a #GScanner</doc>
</docsection>
<function name="sequence_get" c:identifier="g_sequence_get" moved-to="Sequence.get" version="2.14">
<doc xml:space="preserve">Returns the data that @iter points to.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the data that @iter points to</doc>
<type name="gpointer" c:type="gpointer"/>
</function>
<function name="sequence_insert_before" c:identifier="g_sequence_insert_before" moved-to="Sequence.insert_before" version="2.14">
<doc xml:space="preserve">Inserts a new item just before the item pointed to by @iter.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an iterator pointing to the new item</doc>
<type name="SequenceIter" c:type="GSequenceIter*"/>
After calling this function @dest will point to the position immediately
after @src. It is allowed for @src and @dest to point into different
sequences.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @dest is %NULL, the range indicated by @begin and @end is
removed from the sequence. If @dest points to a place within
the (@begin, @end) range, the range does not move.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The @begin and @end iterators must both point to the same sequence
and @begin must come before or be equal to @end in the sequence.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSequenceIter pointing somewhere in the
(@begin, @end) range</doc>
If the sequence has a data destroy function associated with it, this
function is called on the data for the removed item.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the sequence has a data destroy function associated with it, this
function is called on the data for the removed items.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Changes the data for the item pointed to by @iter to be @data. If
the sequence has a data destroy function associated with it, that
function is called on the existing data that @iter pointed to.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="sequence_swap" c:identifier="g_sequence_swap" moved-to="Sequence.swap" version="2.14">
<doc xml:space="preserve">Swaps the items pointed to by @a and @b. It is allowed for @a and @b
to point into difference sequences.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The application name will be used in contexts such as error messages,
or when displaying an application's name in the task list.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="set_error" c:identifier="g_set_error" introspectable="0">
<doc xml:space="preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
must be %NULL. A new #GError is created and assigned to *@err.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Unlike g_set_error(), @message is not a printf()-style format string.
Use this function if @message contains text you don't have control over,
that could include printf() escape sequences.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
taking the last component of @argv[0].
Note that for thread-safety reasons this function can only be called once.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the message to stdout. By providing your own handler
you can redirect the output, to a GTK+ widget or a
log file for example.</doc>
-
<return-value>
<doc xml:space="preserve">the old print handler</doc>
<type name="PrintFunc" c:type="GPrintFunc"/>
message to stderr. By providing your own handler you can
redirect the output, to a GTK+ widget or a log file for
example.</doc>
-
<return-value>
<doc xml:space="preserve">the old error message handler</doc>
<type name="PrintFunc" c:type="GPrintFunc"/>
use g_get_environ() to get an environment array, modify that with
g_environ_setenv() and g_environ_unsetenv(), and then pass that
array directly to execvpe(), g_spawn_async(), or the like.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if the environment variable couldn't be set.</doc>
<type name="gboolean" c:type="gboolean"/>
does contain such expansions, they are passed through
literally. Possible errors are those from the #G_SHELL_ERROR
domain. Free the returned vector with g_strfreev().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if error set</doc>
<type name="gboolean" c:type="gboolean"/>
function. The return value must be freed with g_free(). The
quoting style used is undefined (single or double quotes may be
used).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">quoted string</doc>
<type name="filename" c:type="gchar*"/>
like 'foo'\''bar'. Double quotes allow $, `, ", \, and newline to
be escaped with backslash. Otherwise double quotes preserve things
literally.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an unquoted string</doc>
<type name="filename" c:type="gchar*"/>
If the operation is successful, %TRUE is returned. If the operation
overflows then the state of @dest is undefined and %FALSE is
returned.</doc>
-
<parameters>
<parameter name="dest">
<doc xml:space="preserve">a pointer to the #gsize destination</doc>
If the operation is successful, %TRUE is returned. If the operation
overflows then the state of @dest is undefined and %FALSE is
returned.</doc>
-
<parameters>
<parameter name="dest">
<doc xml:space="preserve">a pointer to the #gsize destination</doc>
Note that the underlying slice allocation mechanism can
be changed with the [`G_SLICE=always-malloc`][G_SLICE]
environment variable.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the allocated memory block, which will be %NULL if and
only if @mem_size is 0</doc>
the returned memory to 0. Note that the underlying slice allocation
mechanism can be changed with the [`G_SLICE=always-malloc`][G_SLICE]
environment variable.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the allocated block, which will be %NULL if and only
if @mem_size is 0</doc>
and copies @block_size bytes into it from @mem_block.
@mem_block must be non-%NULL if @block_size is non-zero.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the allocated memory block, which will be %NULL if and
only if @mem_size is 0</doc>
environment variable.
This can never return %NULL.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type to duplicate, typically a structure name</doc>
[`G_SLICE`][G_SLICE] for related debugging options.
If @mem is %NULL, this macro does nothing.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type of the block to free, typically a structure name</doc>
variable, also see [`G_SLICE`][G_SLICE] for related debugging options.
If @mem_block is %NULL, this function does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
[`G_SLICE`][G_SLICE] for related debugging options.
If @mem_chain is %NULL, this function does nothing.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type of the @mem_chain blocks</doc>
[`G_SLICE`][G_SLICE] for related debugging options.
If @mem_chain is %NULL, this function does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="slice_get_config" c:identifier="g_slice_get_config">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</return-value>
</parameters>
</function>
<function name="slice_get_config_state" c:identifier="g_slice_get_config_state">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="gint64*"/>
</return-value>
This can never return %NULL as the minimum allocation size from
`sizeof (@type)` is 1 byte.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type to allocate, typically a structure name</doc>
This can never return %NULL as the minimum allocation size from
`sizeof (@type)` is 1 byte.</doc>
-
<parameters>
<parameter name="type">
<doc xml:space="preserve">the type to allocate, typically a structure name</doc>
</parameters>
</function-macro>
<function name="slice_set_config" c:identifier="g_slice_set_config">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">A convenience macro to get the next element in a #GSList.
Note that it is considered perfectly acceptable to access
@slist->next directly.</doc>
-
<parameters>
<parameter name="slist">
<doc xml:space="preserve">an element in a #GSList.</doc>
The format string may contain positional parameters, as specified in
the Single Unix Specification.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes which would be produced if the buffer
was large enough.</doc>
is called on its (now invalid) source ID. This source ID may have
been reissued, leading to the operation being performed against the
wrong source.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">For historical reasons, this function always returns %TRUE</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Removes a source from the default main loop context given the
source functions and user data. If multiple sources exist with the
same source functions and user data, only one will be destroyed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a source was found and removed.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Removes a source from the default main loop context given the user
data for the callback. If multiple sources exist with the same user
data, only one will be destroyed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a source was found and removed.</doc>
<type name="gboolean" c:type="gboolean"/>
is called on its (now invalid) source ID. This source ID may have
been reissued, leading to the operation being performed against the
wrong source.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The built-in array of primes ranges from 11 to 13845163 such that
each prime is approximately 1.5-2 times the previous prime.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the smallest prime number from a built-in array of primes
which is larger than @num</doc>
Note that the returned @child_pid on Windows is a handle to the child
process and not its identifier. Process handles and process identifiers
are different concepts on Windows.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if error is set</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</function>
<function name="spawn_async_with_fds" c:identifier="g_spawn_async_with_fds" version="2.58" throws="1">
- <doc xml:space="preserve">Identical to g_spawn_async_with_pipes() but instead of
-creating pipes for the stdin/stdout/stderr, you can pass existing
-file descriptors into this function through the @stdin_fd,
-@stdout_fd and @stderr_fd parameters. The following @flags
-also have their behaviour slightly tweaked as a result:
-
-%G_SPAWN_STDOUT_TO_DEV_NULL means that the child's standard output
-will be discarded, instead of going to the same location as the parent's
-standard output. If you use this flag, @standard_output must be -1.
-%G_SPAWN_STDERR_TO_DEV_NULL means that the child's standard error
-will be discarded, instead of going to the same location as the parent's
-standard error. If you use this flag, @standard_error must be -1.
-%G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent's
-standard input (by default, the child's standard input is attached to
-/dev/null). If you use this flag, @standard_input must be -1.
-
-It is valid to pass the same fd in multiple parameters (e.g. you can pass
-a single fd for both stdout and stderr).</doc>
-
+ <doc xml:space="preserve">Identical to g_spawn_async_with_pipes_and_fds() but with `n_fds` set to zero,
+so no FD assignments are used.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error was set</doc>
<type name="gboolean" c:type="gboolean"/>
<type name="Pid" c:type="GPid*"/>
</parameter>
<parameter name="stdin_fd" transfer-ownership="none">
- <doc xml:space="preserve">file descriptor to use for child's stdin, or -1</doc>
+ <doc xml:space="preserve">file descriptor to use for child's stdin, or `-1`</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stdout_fd" transfer-ownership="none">
- <doc xml:space="preserve">file descriptor to use for child's stdout, or -1</doc>
+ <doc xml:space="preserve">file descriptor to use for child's stdout, or `-1`</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="stderr_fd" transfer-ownership="none">
- <doc xml:space="preserve">file descriptor to use for child's stderr, or -1</doc>
+ <doc xml:space="preserve">file descriptor to use for child's stderr, or `-1`</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="spawn_async_with_pipes" c:identifier="g_spawn_async_with_pipes" throws="1">
- <doc xml:space="preserve">Executes a child program asynchronously (your program will not
-block waiting for the child to exit). The child program is
-specified by the only argument that must be provided, @argv.
-@argv should be a %NULL-terminated array of strings, to be passed
-as the argument vector for the child. The first string in @argv
-is of course the name of the program to execute. By default, the
-name of the program must be a full path. If @flags contains the
-%G_SPAWN_SEARCH_PATH flag, the `PATH` environment variable is
-used to search for the executable. If @flags contains the
-%G_SPAWN_SEARCH_PATH_FROM_ENVP flag, the `PATH` variable from
-@envp is used to search for the executable. If both the
-%G_SPAWN_SEARCH_PATH and %G_SPAWN_SEARCH_PATH_FROM_ENVP flags
-are set, the `PATH` variable from @envp takes precedence over
-the environment variable.
-
-If the program name is not a full path and %G_SPAWN_SEARCH_PATH flag is not
-used, then the program will be run from the current directory (or
-@working_directory, if specified); this might be unexpected or even
-dangerous in some cases when the current directory is world-writable.
-
-On Windows, note that all the string or string vector arguments to
-this function and the other g_spawn*() functions are in UTF-8, the
-GLib file name encoding. Unicode characters that are not part of
-the system codepage passed in these arguments will be correctly
-available in the spawned program only if it uses wide character API
-to retrieve its command line. For C programs built with Microsoft's
-tools it is enough to make the program have a wmain() instead of
-main(). wmain() has a wide character argument vector as parameter.
-
-At least currently, mingw doesn't support wmain(), so if you use
-mingw to develop the spawned program, it should call
-g_win32_get_command_line() to get arguments in UTF-8.
-
-On Windows the low-level child process creation API CreateProcess()
-doesn't use argument vectors, but a command line. The C runtime
-library's spawn*() family of functions (which g_spawn_async_with_pipes()
-eventually calls) paste the argument vector elements together into
-a command line, and the C runtime startup code does a corresponding
-reconstruction of an argument vector from the command line, to be
-passed to main(). Complications arise when you have argument vector
-elements that contain spaces or double quotes. The `spawn*()` functions
-don't do any quoting or escaping, but on the other hand the startup
-code does do unquoting and unescaping in order to enable receiving
-arguments with embedded spaces or double quotes. To work around this
-asymmetry, g_spawn_async_with_pipes() will do quoting and escaping on
-argument vector elements that need it before calling the C runtime
-spawn() function.
-
-The returned @child_pid on Windows is a handle to the child
-process, not its identifier. Process handles and process
-identifiers are different concepts on Windows.
-
-@envp is a %NULL-terminated array of strings, where each string
-has the form `KEY=VALUE`. This will become the child's environment.
-If @envp is %NULL, the child inherits its parent's environment.
-
-@flags should be the bitwise OR of any flags you want to affect the
-function's behaviour. The %G_SPAWN_DO_NOT_REAP_CHILD means that the
-child will not automatically be reaped; you must use a child watch
-(g_child_watch_add()) to be notified about the death of the child process,
-otherwise it will stay around as a zombie process until this process exits.
-Eventually you must call g_spawn_close_pid() on the @child_pid, in order to
-free resources which may be associated with the child process. (On Unix,
-using a child watch is equivalent to calling waitpid() or handling
-the %SIGCHLD signal manually. On Windows, calling g_spawn_close_pid()
-is equivalent to calling CloseHandle() on the process handle returned
-in @child_pid). See g_child_watch_add().
-
-Open UNIX file descriptors marked as `FD_CLOEXEC` will be automatically
-closed in the child process. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN means that
-other open file descriptors will be inherited by the child; otherwise all
-descriptors except stdin/stdout/stderr will be closed before calling exec()
-in the child. %G_SPAWN_SEARCH_PATH means that @argv[0] need not be an
-absolute path, it will be looked for in the `PATH` environment
-variable. %G_SPAWN_SEARCH_PATH_FROM_ENVP means need not be an
-absolute path, it will be looked for in the `PATH` variable from
-@envp. If both %G_SPAWN_SEARCH_PATH and %G_SPAWN_SEARCH_PATH_FROM_ENVP
-are used, the value from @envp takes precedence over the environment.
-%G_SPAWN_STDOUT_TO_DEV_NULL means that the child's standard output
-will be discarded, instead of going to the same location as the parent's
-standard output. If you use this flag, @standard_output must be %NULL.
-%G_SPAWN_STDERR_TO_DEV_NULL means that the child's standard error
-will be discarded, instead of going to the same location as the parent's
-standard error. If you use this flag, @standard_error must be %NULL.
-%G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent's
-standard input (by default, the child's standard input is attached to
-`/dev/null`). If you use this flag, @standard_input must be %NULL.
-%G_SPAWN_FILE_AND_ARGV_ZERO means that the first element of @argv is
-the file to execute, while the remaining elements are the actual
-argument vector to pass to the file. Normally g_spawn_async_with_pipes()
-uses @argv[0] as the file to execute, and passes all of @argv to the child.
-
-@child_setup and @user_data are a function and user data. On POSIX
-platforms, the function is called in the child after GLib has
-performed all the setup it plans to perform (including creating
-pipes, closing file descriptors, etc.) but before calling exec().
-That is, @child_setup is called just before calling exec() in the
-child. Obviously actions taken in this function will only affect
-the child, not the parent.
-
-On Windows, there is no separate fork() and exec() functionality.
-Child processes are created and run with a single API call,
-CreateProcess(). There is no sensible thing @child_setup
-could be used for on Windows so it is ignored and not called.
-
-If non-%NULL, @child_pid will on Unix be filled with the child's
-process ID. You can use the process ID to send signals to the child,
-or to use g_child_watch_add() (or waitpid()) if you specified the
-%G_SPAWN_DO_NOT_REAP_CHILD flag. On Windows, @child_pid will be
-filled with a handle to the child process only if you specified the
-%G_SPAWN_DO_NOT_REAP_CHILD flag. You can then access the child
-process using the Win32 API, for example wait for its termination
-with the WaitFor*() functions, or examine its exit code with
-GetExitCodeProcess(). You should close the handle with CloseHandle()
-or g_spawn_close_pid() when you no longer need it.
-
-If non-%NULL, the @standard_input, @standard_output, @standard_error
-locations will be filled with file descriptors for writing to the child's
-standard input or reading from its standard output or standard error.
-The caller of g_spawn_async_with_pipes() must close these file descriptors
-when they are no longer in use. If these parameters are %NULL, the
-corresponding pipe won't be created.
-
-If @standard_input is %NULL, the child's standard input is attached to
-`/dev/null` unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
-
-If @standard_error is NULL, the child's standard error goes to the same
-location as the parent's standard error unless %G_SPAWN_STDERR_TO_DEV_NULL
-is set.
-
-If @standard_output is NULL, the child's standard output goes to the same
-location as the parent's standard output unless %G_SPAWN_STDOUT_TO_DEV_NULL
-is set.
-
-@error can be %NULL to ignore errors, or non-%NULL to report errors.
-If an error is set, the function returns %FALSE. Errors are reported
-even if they occur in the child (for example if the executable in
-@argv[0] is not found). Typically the `message` field of returned
-errors should be displayed to users. Possible errors are those from
-the #G_SPAWN_ERROR domain.
-
-If an error occurs, @child_pid, @standard_input, @standard_output,
-and @standard_error will not be filled with valid values.
-
-If @child_pid is not %NULL and an error does not occur then the returned
-process reference must be closed using g_spawn_close_pid().
-
-On modern UNIX platforms, GLib can use an efficient process launching
-codepath driven internally by posix_spawn(). This has the advantage of
-avoiding the fork-time performance costs of cloning the parent process
-address space, and avoiding associated memory overcommit checks that are
-not relevant in the context of immediately executing a distinct process.
-This optimized codepath will be used provided that the following conditions
-are met:
-
-1. %G_SPAWN_DO_NOT_REAP_CHILD is set
-2. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN is set
-3. %G_SPAWN_SEARCH_PATH_FROM_ENVP is not set
-4. @working_directory is %NULL
-5. @child_setup is %NULL
-6. The program is of a recognised binary format, or has a shebang. Otherwise, GLib will have to execute the program through the shell, which is not done using the optimized codepath.
-
-If you are writing a GTK+ application, and the program you are spawning is a
-graphical application too, then to ensure that the spawned program opens its
-windows on the right screen, you may want to use #GdkAppLaunchContext,
-#GAppLaunchContext, or set the %DISPLAY environment variable.</doc>
-
+ <doc xml:space="preserve">Identical to g_spawn_async_with_pipes_and_fds() but with `n_fds` set to zero,
+so no FD assignments are used.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error was set</doc>
<type name="gboolean" c:type="gboolean"/>
WIFEXITED() and WEXITSTATUS() on @exit_status directly. Do not attempt
to scan or parse the error message string; it may be translated and/or
change in future versions of GLib.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if child exited successfully, %FALSE otherwise (and
@error will be set)</doc>
which must be closed to prevent resource leaking. g_spawn_close_pid()
is provided for this purpose. It should be used on all platforms, even
though it doesn't do anything under UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
errors are those from g_shell_parse_argv() and g_spawn_async().
The same concerns on Windows apply as for g_spawn_command_line_sync().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if error is set</doc>
<type name="gboolean" c:type="gboolean"/>
the backslashes will be eaten, and the space will act as a
separator. You need to enclose such paths with single quotes, like
"'c:\\program files\\app\\app.exe' 'e:\\folder\\argument.txt'".</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error was set</doc>
<type name="gboolean" c:type="gboolean"/>
This function calls g_spawn_async_with_pipes() internally; see that
function for full details on the other parameters and details on
how these functions work on Windows.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if an error was set</doc>
<type name="gboolean" c:type="gboolean"/>
`glib/gprintf.h` must be explicitly included in order to use this function.
See also g_strdup_printf().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes printed.</doc>
<type name="gint" c:type="gint"/>
In the above example, the object will be automatically freed in the
early error case and also in the case that %NULL was given for
@obj_out.</doc>
-
<parameters>
<parameter name="pp">
<doc xml:space="preserve">a pointer to a pointer</doc>
trailing nul, and return a pointer to the trailing nul byte.
This is useful for concatenating multiple strings together
without having to repeatedly scan for the end.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to trailing nul byte.</doc>
<type name="utf8" c:type="gchar*"/>
This function is typically used for hash table comparisons, but can be used
for general purpose comparisons of non-%NULL strings. For a %NULL-safe string
comparison function, see g_strcmp0().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the two keys match</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="str_has_prefix" c:identifier="g_str_has_prefix" version="2.2">
<doc xml:space="preserve">Looks whether the string @str begins with @prefix.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @str begins with @prefix, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="str_has_suffix" c:identifier="g_str_has_suffix" version="2.2">
<doc xml:space="preserve">Looks whether the string @str ends with @suffix.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @str end with @suffix, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
Note that this function may not be a perfect fit for all use cases.
For example, it produces some hash collisions with strings as short
as 2.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a hash value corresponding to the key</doc>
<type name="guint" c:type="guint"/>
<function name="str_is_ascii" c:identifier="g_str_is_ascii" version="2.40">
<doc xml:space="preserve">Determines if a string is pure ASCII. A string is pure ASCII if it
contains no bytes with the high bit set.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @str is ASCII</doc>
<type name="gboolean" c:type="gboolean"/>
‘Frédéric’ but not ‘Frederic’ (due to the one-directional nature of
accent matching). Searching ‘fo’ would match ‘Foo’ and ‘Bar Foo
Baz’, but not ‘SFO’ (because no word has ‘fo’ as a prefix).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @potential_hit is a hit</doc>
<type name="gboolean" c:type="gboolean"/>
If you want to do translation for no specific locale, and you want it
to be done independently of the currently locale, specify `"C"` for
@from_locale.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string in plain ASCII</doc>
<type name="utf8" c:type="gchar*"/>
for doing so is unspecified, but @translit_locale (if specified) may
improve the transliteration if the language of the source string is
known.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the folded tokens</doc>
<array c:type="gchar**">
...
g_free (reformatted);
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@string</doc>
<type name="utf8" c:type="gchar*"/>
strcasecmp() function on platforms which support it.</doc>
<doc-deprecated xml:space="preserve">See g_strncasecmp() for a discussion of why this
function is deprecated and how to replace it.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if the strings match, a negative value if @s1 < @s2,
or a positive value if @s1 > @s2.</doc>
The pointer to @string is returned to allow the nesting of functions.
Also see g_strchug() and g_strstrip().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@string</doc>
<type name="utf8" c:type="gchar*"/>
The pointer to @string is returned to allow the nesting of functions.
Also see g_strchomp() and g_strstrip().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@string</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">Compares @str1 and @str2 like strcmp(). Handles %NULL
gracefully by sorting it before non-%NULL strings.
Comparing two %NULL pointers returns 0.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an integer less than, equal to, or greater than zero, if @str1 is <, == or > than @str2.</doc>
<type name="gint" c:type="int"/>
<doc xml:space="preserve">Replaces all escaped characters with their one byte equivalent.
This function does the reverse conversion of g_strescape().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated copy of @source with all escaped
character compressed</doc>
Note that this function is usually not the right function to use to
assemble a translated message from pieces, since proper translation
often requires the pieces to be reordered.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string containing all the string arguments</doc>
<type name="utf8" c:type="gchar*"/>
...
g_free (reformatted);
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">@string</doc>
<type name="utf8" c:type="gchar*"/>
<doc-deprecated xml:space="preserve">This function is totally broken for the reasons discussed
in the g_strncasecmp() docs - use g_ascii_strdown() or g_utf8_strdown()
instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the string</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">Duplicates a string. If @str is %NULL it returns %NULL.
The returned string should be freed with g_free()
when no longer needed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated copy of @str</doc>
<type name="utf8" c:type="gchar*"/>
The returned string is guaranteed to be non-NULL, unless @format
contains `%lc` or `%ls` conversions, which can fail if no multibyte
representation is available for the given character.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string holding the result</doc>
<type name="utf8" c:type="gchar*"/>
See also g_vasprintf(), which offers the same functionality, but
additionally returns the length of the allocated string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string holding the result</doc>
<type name="utf8" c:type="gchar*"/>
the new array should be freed by first freeing each string, then
the array itself. g_strfreev() does this for you. If called
on a %NULL value, g_strdupv() simply returns %NULL.</doc>
-
<return-value nullable="1">
<doc xml:space="preserve">a new %NULL-terminated array of strings.</doc>
<array c:type="gchar**">
g_strerror (saved_errno);
]|</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a UTF-8 string describing the error code. If the error code
is unknown, it returns a string like "unknown error (<code>)".</doc>
Characters supplied in @exceptions are not escaped.
g_strcompress() does the reverse conversion.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated copy of @source with certain
characters escaped. See above.</doc>
string it contains.
If @str_array is %NULL, this function simply returns.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</docsection>
<function name="string_new" c:identifier="g_string_new">
<doc xml:space="preserve">Creates a new #GString, initialized with the given string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GString</doc>
<type name="String" c:type="GString*"/>
Since this function does not stop at nul bytes, it is the caller's
responsibility to ensure that @init has at least @len addressable
bytes.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GString</doc>
<type name="String" c:type="GString*"/>
bytes. This is useful if you are going to add a lot of
text to the string and don't want it to be reallocated
too often.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GString</doc>
<type name="String" c:type="GString*"/>
</docsection>
<function name="strip_context" c:identifier="g_strip_context" version="2.4">
<doc xml:space="preserve">An auxiliary function for gettext() support (see Q_()).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@msgval, unless @msgval is identical to @msgid
and contains a '|' character, in which case a pointer to
<doc xml:space="preserve">Joins a number of strings together to form one long string, with the
optional @separator inserted between each of them. The returned string
should be freed with g_free().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string containing all of the strings joined
together, with @separator between them</doc>
If @str_array has no items, the return value will be an
empty string. If @str_array contains a single item, @separator will not
appear in the resulting string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string containing all of the strings joined
together, with @separator between them</doc>
Caveat: this is supposedly a more secure alternative to strcat() or
strncat(), but for real security g_strconcat() is harder to mess up.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">size of attempted result, which is MIN (dest_size, strlen
(original dest)) + strlen (src), so if retval >= dest_size,
Caveat: strlcpy() is supposedly more secure than strcpy() or strncpy(),
but if you really want to avoid screwups, g_strdup() is an even better
idea.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">length of @src</doc>
<type name="gsize" c:type="gsize"/>
which only works on ASCII and is not locale-sensitive, and
g_utf8_casefold() followed by strcmp() on the resulting strings,
which is good for case-insensitive sorting of UTF-8.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if the strings match, a negative value if @s1 < @s2,
or a positive value if @s1 > @s2.</doc>
To copy a number of characters from a UTF-8 encoded string,
use g_utf8_strncpy() instead.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated buffer containing the first @n bytes
of @str, nul-terminated</doc>
<function name="strnfill" c:identifier="g_strnfill">
<doc xml:space="preserve">Creates a new string @length bytes long filled with @fill_char.
The returned string should be freed when no longer needed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string filled the @fill_char</doc>
<type name="utf8" c:type="gchar*"/>
Note that g_strreverse() doesn't work on UTF-8 strings
containing multibyte characters. For that purpose, use
g_utf8_strreverse().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the same pointer passed in as @string</doc>
<type name="utf8" c:type="gchar*"/>
<function name="strrstr" c:identifier="g_strrstr">
<doc xml:space="preserve">Searches the string @haystack for the last occurrence
of the string @needle.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the found occurrence, or
%NULL if not found.</doc>
<doc xml:space="preserve">Searches the string @haystack for the last occurrence
of the string @needle, limiting the length of the search
to @haystack_len.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the found occurrence, or
%NULL if not found.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="haystack_len" transfer-ownership="none">
- <doc xml:space="preserve">the maximum length of @haystack</doc>
+ <doc xml:space="preserve">the maximum length of @haystack in bytes. A length of -1
+ can be used to mean "search the entire string", like g_strrstr().</doc>
<type name="gssize" c:type="gssize"/>
</parameter>
<parameter name="needle" transfer-ownership="none">
You should use this function in preference to strsignal(), because it
returns a string in UTF-8 encoding, and since not all platforms support
the strsignal() function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a UTF-8 string describing the signal. If the signal is unknown,
it returns "unknown signal (<signum>)".</doc>
more useful than consistent handling of empty elements. If you do need
to represent empty elements, you'll need to check for the empty string
before calling g_strsplit().</doc>
-
<return-value>
<doc xml:space="preserve">a newly-allocated %NULL-terminated array of strings. Use
g_strfreev() to free it.</doc>
Note that this function works on bytes not characters, so it can't be used
to delimit UTF-8 strings for anything but ASCII characters.</doc>
-
<return-value>
<doc xml:space="preserve">a newly-allocated %NULL-terminated array of strings. Use
g_strfreev() to free it.</doc>
<doc xml:space="preserve">Searches the string @haystack for the first occurrence
of the string @needle, limiting the length of the search
to @haystack_len.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to the found occurrence, or
%NULL if not found.</doc>
</return-value>
<parameters>
<parameter name="haystack" transfer-ownership="none">
- <doc xml:space="preserve">a string</doc>
+ <doc xml:space="preserve">a nul-terminated string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="haystack_len" transfer-ownership="none">
- <doc xml:space="preserve">the maximum length of @haystack. Note that -1 is
- a valid length, if @haystack is nul-terminated, meaning it will
- search through the whole string.</doc>
+ <doc xml:space="preserve">the maximum length of @haystack in bytes. A length of -1
+ can be used to mean "search the entire string", like `strstr()`.</doc>
<type name="gssize" c:type="gssize"/>
</parameter>
<parameter name="needle" transfer-ownership="none">
<function-macro name="strstrip" c:identifier="g_strstrip" introspectable="0">
<doc xml:space="preserve">Removes leading and trailing whitespace from a string.
See g_strchomp() and g_strchug().</doc>
-
<parameters>
<parameter name="string">
<doc xml:space="preserve">a string to remove the leading and trailing whitespace from</doc>
should you use this. Make sure that you don't pass strings such as comma
separated lists of values, since the commas may be interpreted as a decimal
point in some locales, causing unexpected results.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #gdouble value.</doc>
<type name="gdouble" c:type="gdouble"/>
<doc-deprecated xml:space="preserve">This function is totally broken for the reasons
discussed in the g_strncasecmp() docs - use g_ascii_strup()
or g_utf8_strup() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the string</doc>
<type name="utf8" c:type="gchar*"/>
</function>
<function name="strv_contains" c:identifier="g_strv_contains" version="2.44">
<doc xml:space="preserve">Checks if @strv contains @str. @strv must not be %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @str is an element of @strv, according to g_str_equal().</doc>
<type name="gboolean" c:type="gboolean"/>
Two empty arrays are considered equal. Neither @strv1 not @strv2 may be
%NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @strv1 and @strv2 are equal</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</function>
<function name="strv_get_type" c:identifier="g_strv_get_type">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
<function name="strv_length" c:identifier="g_strv_length" version="2.6">
<doc xml:space="preserve">Returns the length of the given %NULL-terminated
string array @str_array. @str_array must not be %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">length of @str_array.</doc>
<type name="guint" c:type="guint"/>
g_test_add() is implemented as a macro, so that the fsetup(), ftest() and
fteardown() callbacks can expect a @Fixture pointer as their first argument
in a type safe manner. They otherwise have type #GTestFixtureFunc.</doc>
-
<parameters>
<parameter name="testpath">
<doc xml:space="preserve">The test path for a new test case.</doc>
No component of @testpath may start with a dot (`.`) if the
%G_TEST_OPTION_ISOLATE_DIRS option is being used; and it is recommended to
do so even if it isn’t.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="test_add_data_func_full" c:identifier="g_test_add_data_func_full" version="2.34">
<doc xml:space="preserve">Create a new test case, as with g_test_add_data_func(), but freeing
@test_data after the test run is complete.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
No component of @testpath may start with a dot (`.`) if the
%G_TEST_OPTION_ISOLATE_DIRS option is being used; and it is recommended to
do so even if it isn’t.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_add_vtable" c:identifier="g_test_add_vtable" introspectable="0">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_assert_expected_messages_internal" c:identifier="g_test_assert_expected_messages_internal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_test_bug() instead.</doc>
<doc-version xml:space="preserve">
See also: g_test_summary()</doc-version>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If g_test_bug_base() is not called, bug URIs are formed solely
from the value provided by g_test_bug().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
in the srcdir == builddir case and should also support running of
installed tests, assuming the data files have been installed in the
same relative path as the test binary.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the path of the file, to be freed using g_free()</doc>
<type name="utf8" c:type="gchar*"/>
multiple tests. In this cases, g_test_create_case() will be
called with the same type of fixture (the @data_size argument), but varying
@test_name and @data_test arguments.</doc>
-
<return-value>
<doc xml:space="preserve">a newly allocated #GTestCase.</doc>
<type name="TestCase" c:type="GTestCase*"/>
</function>
<function name="test_create_suite" c:identifier="g_test_create_suite" version="2.16" introspectable="0">
<doc xml:space="preserve">Create a new test suite with the name @suite_name.</doc>
-
<return-value>
<doc xml:space="preserve">A newly allocated #GTestSuite instance.</doc>
<type name="TestSuite" c:type="GTestSuite*"/>
If messages at %G_LOG_LEVEL_DEBUG are emitted, but not explicitly
expected via g_test_expect_message() then they will be ignored.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the test.
If not called from inside a test, this function does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The return value of this function is only meaningful
if it is called from inside a test function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the test has failed</doc>
<type name="gboolean" c:type="gboolean"/>
This is approximately the same as calling g_test_build_filename("."),
but you don't need to free the return value.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the path of the directory, owned by GLib</doc>
<type name="filename" c:type="const gchar*"/>
but you must ensure that all such uses occur before the main testcase
function returns (ie: it is best to ensure that all threads have been
joined).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the path, automatically freed at the end of the testcase</doc>
<type name="utf8" c:type="const gchar*"/>
</function>
<function name="test_get_root" c:identifier="g_test_get_root" version="2.16" introspectable="0">
<doc xml:space="preserve">Get the toplevel test suite for the test path API.</doc>
-
<return-value>
<doc xml:space="preserve">the toplevel #GTestSuite</doc>
<type name="TestSuite" c:type="GTestSuite*"/>
the test.
If not called from inside a test, this function does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
from being executed, as g_assert() is commonly (erroneously) used in unit
tests, and is a no-op when compiled with `G_DISABLE_ASSERT`. Ensure your
tests are compiled without `G_DISABLE_ASSERT` defined.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
behaviour for specific log messages, programs must install a custom log
writer function using g_log_set_writer_func().See
[Using Structured Logging][using-structured-logging].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="test_log_type_name" c:identifier="g_test_log_type_name">
-
<return-value transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</return-value>
quantities (larger values are better than smaller ones),
this and @maximized_quantity can determine sorting
order for test result reports.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_message" c:identifier="g_test_message" version="2.16" introspectable="0">
<doc xml:space="preserve">Add a message to the test report.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
quantities (smaller values are better than larger ones),
this and @minimized_quantity can determine sorting
order for test result reports.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Resources are released in reverse queue order, that means enqueueing
callback A before callback B will cause B() to be called before
A() during teardown.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Enqueue a pointer to be released with g_free() during the next
teardown phase. This is equivalent to calling g_test_queue_destroy()
with a destroy callback of g_free().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Enqueue an object to be released with g_object_unref() during
the next teardown phase. This is equivalent to calling
g_test_queue_destroy() with a destroy callback of g_object_unref().</doc>
-
<parameters>
<parameter name="gobject">
<doc xml:space="preserve">the object to unref</doc>
<function name="test_rand_double" c:identifier="g_test_rand_double" version="2.16">
<doc xml:space="preserve">Get a reproducible random floating point number,
see g_test_rand_int() for details on test case random numbers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number from the seeded random number generator.</doc>
<type name="gdouble" c:type="double"/>
<function name="test_rand_double_range" c:identifier="g_test_rand_double_range" version="2.16">
<doc xml:space="preserve">Get a reproducible random floating pointer number out of a specified range,
see g_test_rand_int() for details on test case random numbers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a number with @range_start <= number < @range_end.</doc>
<type name="gdouble" c:type="double"/>
For individual test cases however, the random number generator is
reseeded, to avoid dependencies between tests and to make --seed
effective for all test cases.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a random number from the seeded random number generator.</doc>
<type name="gint32" c:type="gint32"/>
<function name="test_rand_int_range" c:identifier="g_test_rand_int_range" version="2.16">
<doc xml:space="preserve">Get a reproducible random integer number out of a specified range,
see g_test_rand_int() for details on test case random numbers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a number with @begin <= number < @end.</doc>
<type name="gint32" c:type="gint32"/>
If all tests are skipped or marked as incomplete (expected failures),
this function will return 0 if producing TAP output, or 77 (treated
as "skip test" by Automake) otherwise.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 on success, 1 on failure (assuming it returns at all),
0 or 77 if all tests were skipped with g_test_skip() and/or
g_test_run_suite() or g_test_run() may only be called once
in a program.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 on success</doc>
<type name="gint" c:type="int"/>
affected by this.
This function can only be called after g_test_init().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the test.
If not called from inside a test, this function does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="test_subprocess" c:identifier="g_test_subprocess" version="2.38">
<doc xml:space="preserve">Returns %TRUE (after g_test_init() has been called) if the test
program is running under g_test_trap_subprocess().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the test program is running under
g_test_trap_subprocess().</doc>
]|</doc>
<doc-version xml:space="preserve">
See also: g_test_bug()</doc-version>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="test_timer_elapsed" c:identifier="g_test_timer_elapsed" version="2.16">
<doc xml:space="preserve">Get the time since the last start of the timer with g_test_timer_start().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the time since the last start of the timer, as a double</doc>
<type name="gdouble" c:type="double"/>
</function>
<function name="test_timer_last" c:identifier="g_test_timer_last" version="2.16">
<doc xml:space="preserve">Report the last result of g_test_timer_elapsed().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the last result of g_test_timer_elapsed(), as a double</doc>
<type name="gdouble" c:type="double"/>
<function name="test_timer_start" c:identifier="g_test_timer_start" version="2.16">
<doc xml:space="preserve">Start a timing test. Call g_test_timer_elapsed() when the task is supposed
to be done. Call this function again to restart the timer.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
entire test, including the call to g_test_trap_subprocess(), unless
g_test_undefined() returns %TRUE to indicate that undefined
behaviour may be tested.</doc>
-
<parameters>
<parameter name="serrpattern">
<doc xml:space="preserve">a glob-style [pattern][glib-Glob-style-pattern-matching]</doc>
<function-macro name="test_trap_assert_stderr_unmatched" c:identifier="g_test_trap_assert_stderr_unmatched" version="2.16" introspectable="0">
<doc xml:space="preserve">Assert that the stderr output of the last test subprocess
does not match @serrpattern. See g_test_trap_subprocess().</doc>
-
<parameters>
<parameter name="serrpattern">
<doc xml:space="preserve">a glob-style [pattern][glib-Glob-style-pattern-matching]</doc>
<function-macro name="test_trap_assert_stdout" c:identifier="g_test_trap_assert_stdout" version="2.16" introspectable="0">
<doc xml:space="preserve">Assert that the stdout output of the last test subprocess matches
@soutpattern. See g_test_trap_subprocess().</doc>
-
<parameters>
<parameter name="soutpattern">
<doc xml:space="preserve">a glob-style [pattern][glib-Glob-style-pattern-matching]</doc>
<function-macro name="test_trap_assert_stdout_unmatched" c:identifier="g_test_trap_assert_stdout_unmatched" version="2.16" introspectable="0">
<doc xml:space="preserve">Assert that the stdout output of the last test subprocess
does not match @soutpattern. See g_test_trap_subprocess().</doc>
-
<parameters>
<parameter name="soutpattern">
<doc xml:space="preserve">a glob-style [pattern][glib-Glob-style-pattern-matching]</doc>
</parameters>
</function-macro>
<function name="test_trap_assertions" c:identifier="g_test_trap_assertions">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc-deprecated xml:space="preserve">This function is implemented only on Unix platforms,
and is not always reliable due to problems inherent in
fork-without-exec. Use g_test_trap_subprocess() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE for the forked child and %FALSE for the executing parent process.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="test_trap_has_passed" c:identifier="g_test_trap_has_passed" version="2.16">
<doc xml:space="preserve">Check the result of the last g_test_trap_subprocess() call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the last test subprocess terminated successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="test_trap_reached_timeout" c:identifier="g_test_trap_reached_timeout" version="2.16">
<doc xml:space="preserve">Check the result of the last g_test_trap_subprocess() call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the last test subprocess got killed due to a timeout.</doc>
<type name="gboolean" c:type="gboolean"/>
return g_test_run ();
}
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
yourself with g_thread_new() or related APIs. You must not call
this function from a thread created with another threading library
or or from within a #GThreadPool.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If this function returns 0, threads waiting in the thread
pool for new work are not stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximum @interval (milliseconds) to wait
for new tasks in the thread pool before stopping the
</function>
<function name="thread_pool_get_max_unused_threads" c:identifier="g_thread_pool_get_max_unused_threads" moved-to="ThreadPool.get_max_unused_threads">
<doc xml:space="preserve">Returns the maximal allowed number of unused threads.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximal number of unused threads</doc>
<type name="gint" c:type="gint"/>
</function>
<function name="thread_pool_get_num_unused_threads" c:identifier="g_thread_pool_get_num_unused_threads" moved-to="ThreadPool.get_num_unused_threads">
<doc xml:space="preserve">Returns the number of currently unused threads.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of currently unused threads</doc>
<type name="guint" c:type="guint"/>
By setting @interval to 0, idle threads will not be stopped.
The default value is 15000 (15 seconds).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
of unused threads.
The default value is 2.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Stops all currently unused threads. This does not change the
maximal number of unused threads. This function can be used to
regularly stop all unused threads e.g. from g_timeout_add().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
APIs). This may be useful for thread identification purposes
(i.e. comparisons) but you must not use GLib functions (such
as g_thread_join()) on these threads.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GThread representing the current thread</doc>
<type name="Thread" c:type="GThread*"/>
that other threads can run.
This function is often used as a method to make busy wait less evil.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
]|</doc>
<doc-deprecated xml:space="preserve">#GTimeVal is not year-2038-safe. Use
g_date_time_new_from_iso8601() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the conversion was successful.</doc>
<type name="gboolean" c:type="gboolean"/>
The interval given is in terms of monotonic time, not wall clock
time. See g_get_monotonic_time().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
The interval given is in terms of monotonic time, not wall clock time.
See g_get_monotonic_time().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
The interval given is in terms of monotonic time, not wall clock
time. See g_get_monotonic_time().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
The interval given is in terms of monotonic time, not wall clock
time. See g_get_monotonic_time().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source.</doc>
<type name="guint" c:type="guint"/>
The interval given is in terms of monotonic time, not wall clock
time. See g_get_monotonic_time().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly-created timeout source</doc>
<type name="Source" c:type="GSource*"/>
The interval given is in terms of monotonic time, not wall clock time.
See g_get_monotonic_time().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly-created timeout source</doc>
<type name="Source" c:type="GSource*"/>
Note that execution of this function is of O(N) complexity
where N denotes the number of items on the stack.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the height of the stack</doc>
<type name="guint" c:type="guint"/>
<doc xml:space="preserve">Returns the element at the top of a #GTrashStack
which may be %NULL.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the element at the top of the stack</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="trash_stack_pop" c:identifier="g_trash_stack_pop" moved-to="TrashStack.pop" deprecated="1" deprecated-version="2.48">
<doc xml:space="preserve">Pops a piece of memory off a #GTrashStack.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the element at the top of the stack</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="trash_stack_push" c:identifier="g_trash_stack_push" moved-to="TrashStack.push" deprecated="1" deprecated-version="2.48">
<doc xml:space="preserve">Pushes a piece of memory onto a #GTrashStack.</doc>
<doc-deprecated xml:space="preserve">#GTrashStack is deprecated without replacement</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameter>
</parameters>
</function>
- <docsection name="treesbinary">
+ <docsection name="trees-binary">
<doc xml:space="preserve">The #GTree structure and its associated functions provide a sorted
collection of key/value pairs optimized for searching and traversing
in order. This means that most of the operations (access, search,
To destroy a #GTree, use g_tree_destroy().</doc>
</docsection>
- <docsection name="treesnary">
+ <docsection name="trees-nary">
<doc xml:space="preserve">The #GNode struct and its associated functions provide a N-ary tree
data structure, where nodes in the tree can contain arbitrary data.
<function name="try_malloc" c:identifier="g_try_malloc">
<doc xml:space="preserve">Attempts to allocate @n_bytes, and returns %NULL on failure.
Contrast with g_malloc(), which aborts the program on failure.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the allocated memory, or %NULL.</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="try_malloc0" c:identifier="g_try_malloc0" version="2.8">
<doc xml:space="preserve">Attempts to allocate @n_bytes, initialized to 0's, and returns %NULL on
failure. Contrast with g_malloc0(), which aborts the program on failure.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the allocated memory, or %NULL</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="try_malloc0_n" c:identifier="g_try_malloc0_n" version="2.24">
<doc xml:space="preserve">This function is similar to g_try_malloc0(), allocating (@n_blocks * @n_block_bytes) bytes,
but care is taken to detect possible overflow during multiplication.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the allocated memory, or %NULL</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="try_malloc_n" c:identifier="g_try_malloc_n" version="2.24">
<doc xml:space="preserve">This function is similar to g_try_malloc(), allocating (@n_blocks * @n_block_bytes) bytes,
but care is taken to detect possible overflow during multiplication.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the allocated memory, or %NULL.</doc>
<type name="gpointer" c:type="gpointer"/>
%NULL on failure. Contrast with g_new(), which aborts the program on failure.
The returned pointer is cast to a pointer to the given type.
The function returns %NULL when @n_structs is 0 of if an overflow occurs.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">the type of the elements to allocate</doc>
the program on failure.
The returned pointer is cast to a pointer to the given type.
The function returns %NULL when @n_structs is 0 or if an overflow occurs.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">the type of the elements to allocate</doc>
on failure.
If @mem is %NULL, behaves the same as g_try_malloc().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the allocated memory, or %NULL.</doc>
<type name="gpointer" c:type="gpointer"/>
<function name="try_realloc_n" c:identifier="g_try_realloc_n" version="2.24">
<doc xml:space="preserve">This function is similar to g_try_realloc(), allocating (@n_blocks * @n_block_bytes) bytes,
but care is taken to detect possible overflow during multiplication.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the allocated memory, or %NULL.</doc>
<type name="gpointer" c:type="gpointer"/>
failure. Contrast with g_renew(), which aborts the program on failure.
It returns the new address of the memory, which may have been moved.
The function returns %NULL if an overflow occurs.</doc>
-
<parameters>
<parameter name="struct_type">
<doc xml:space="preserve">the type of the elements to allocate</doc>
<function name="ucs4_to_utf16" c:identifier="g_ucs4_to_utf16" throws="1">
<doc xml:space="preserve">Convert a string from UCS-4 to UTF-16. A 0 character will be
added to the result after the converted text.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UTF-16 string.
This value must be freed with g_free(). If an error occurs,
<function name="ucs4_to_utf8" c:identifier="g_ucs4_to_utf8" throws="1">
<doc xml:space="preserve">Convert a string from a 32-bit fixed width representation as UCS-4.
to UTF-8. The result will be terminated with a 0 byte.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UTF-8 string.
This value must be freed with g_free(). If an error occurs,
If the operation is successful, %TRUE is returned. If the operation
overflows then the state of @dest is undefined and %FALSE is
returned.</doc>
-
<parameters>
<parameter name="dest">
<doc xml:space="preserve">a pointer to the #guint64 destination</doc>
If the operation is successful, %TRUE is returned. If the operation
overflows then the state of @dest is undefined and %FALSE is
returned.</doc>
-
<parameters>
<parameter name="dest">
<doc xml:space="preserve">a pointer to the #guint64 destination</doc>
If the operation is successful, %TRUE is returned. If the operation
overflows then the state of @dest is undefined and %FALSE is
returned.</doc>
-
<parameters>
<parameter name="dest">
<doc xml:space="preserve">a pointer to the #guint destination</doc>
If the operation is successful, %TRUE is returned. If the operation
overflows then the state of @dest is undefined and %FALSE is
returned.</doc>
-
<parameters>
<parameter name="dest">
<doc xml:space="preserve">a pointer to the #guint destination</doc>
breaks ("text boundaries"), Pango implements the Unicode boundary
resolution algorithms and normally you would use a function such
as pango_break() instead of caring about break types yourself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the break type of @c</doc>
<type name="UnicodeBreakType" c:type="GUnicodeBreakType"/>
</function>
<function name="unichar_combining_class" c:identifier="g_unichar_combining_class" version="2.14">
<doc xml:space="preserve">Determines the canonical combining class of a Unicode character.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the combining class of the character</doc>
<type name="gint" c:type="gint"/>
See
[UAX#15](http://unicode.org/reports/tr15/)
for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the characters could be composed</doc>
<type name="gboolean" c:type="gboolean"/>
See
[UAX#15](http://unicode.org/reports/tr15/)
for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the character could be decomposed</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="unichar_digit_value" c:identifier="g_unichar_digit_value">
<doc xml:space="preserve">Determines the numeric value of a character as a decimal
digit.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">If @c is a decimal digit (according to
g_unichar_isdigit()), its numeric value. Otherwise, -1.</doc>
See
[UAX#15](http://unicode.org/reports/tr15/)
for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the full decomposition.</doc>
<type name="gsize" c:type="gsize"/>
character that typically has a glyph that is the mirror image of @ch's
glyph and @mirrored_ch is set, it puts that character in the address
pointed to by @mirrored_ch. Otherwise the original character is put.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @ch has a mirrored character, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
This function is equivalent to pango_script_for_unichar() and the
two are interchangeable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GUnicodeScript for the character.</doc>
<type name="UnicodeScript" c:type="GUnicodeScript"/>
<doc xml:space="preserve">Determines whether a character is alphanumeric.
Given some UTF-8 text, obtain a character value
with g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is an alphanumeric character</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Determines whether a character is alphabetic (i.e. a letter).
Given some UTF-8 text, obtain a character value with
g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is an alphabetic character</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Determines whether a character is a control character.
Given some UTF-8 text, obtain a character value with
g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is a control character</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="unichar_isdefined" c:identifier="g_unichar_isdefined">
<doc xml:space="preserve">Determines if a given character is assigned in the Unicode
standard.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the character has an assigned value</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Determines whether a character is numeric (i.e. a digit). This
covers ASCII 0-9 and also digits in other languages/scripts. Given
some UTF-8 text, obtain a character value with g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is a digit</doc>
<type name="gboolean" c:type="gboolean"/>
spaces). g_unichar_isprint() is similar, but returns %TRUE for
spaces. Given some UTF-8 text, obtain a character value with
g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is printable unless it's a space</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Determines whether a character is a lowercase letter.
Given some UTF-8 text, obtain a character value with
g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is a lowercase letter</doc>
<type name="gboolean" c:type="gboolean"/>
ismark characters should be allowed to as they are essential
for writing most European languages as well as many non-Latin
scripts.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is a mark character</doc>
<type name="gboolean" c:type="gboolean"/>
Unlike g_unichar_isgraph(), returns %TRUE for spaces.
Given some UTF-8 text, obtain a character value with
g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is printable</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Determines whether a character is punctuation or a symbol.
Given some UTF-8 text, obtain a character value with
g_utf8_get_char().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is a punctuation or symbol character</doc>
<type name="gboolean" c:type="gboolean"/>
(Note: don't use this to do word breaking; you have to use
Pango or equivalent to get word breaking right, the algorithm
is fairly complex.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is a space character</doc>
<type name="gboolean" c:type="gboolean"/>
form is used at the beginning of a word where only the
first letter is capitalized. The titlecase form of the DZ
digraph is U+01F2 LATIN CAPITAL LETTTER D WITH SMALL LETTER Z.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the character is titlecase</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="unichar_isupper" c:identifier="g_unichar_isupper">
<doc xml:space="preserve">Determines if a character is uppercase.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @c is an uppercase character</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="unichar_iswide" c:identifier="g_unichar_iswide">
<doc xml:space="preserve">Determines if a character is typically rendered in a double-width
cell.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the character is wide</doc>
<type name="gboolean" c:type="gboolean"/>
If a character passes the g_unichar_iswide() test then it will also pass
this test, but not the other way around. Note that some characters may
pass both this test and g_unichar_iszerowidth().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the character is wide in legacy East Asian locales</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="unichar_isxdigit" c:identifier="g_unichar_isxdigit">
<doc xml:space="preserve">Determines if a character is a hexadecimal digit.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the character is a hexadecimal digit</doc>
<type name="gboolean" c:type="gboolean"/>
g_unichar_iswide_cjk() to determine the number of cells a string occupies
when displayed on a grid display (terminals). However, note that not all
terminals support zero-width rendering of zero-width marks.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the character has zero width</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="unichar_to_utf8" c:identifier="g_unichar_to_utf8">
<doc xml:space="preserve">Converts a single character to UTF-8.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of bytes written</doc>
<type name="gint" c:type="gint"/>
</function>
<function name="unichar_tolower" c:identifier="g_unichar_tolower">
<doc xml:space="preserve">Converts a character to lower case.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the result of converting @c to lower case.
If @c is not an upperlower or titlecase character,
</function>
<function name="unichar_totitle" c:identifier="g_unichar_totitle">
<doc xml:space="preserve">Converts a character to the titlecase.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the result of converting @c to titlecase.
If @c is not an uppercase or lowercase character,
</function>
<function name="unichar_toupper" c:identifier="g_unichar_toupper">
<doc xml:space="preserve">Converts a character to uppercase.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the result of converting @c to uppercase.
If @c is not a lowercase or titlecase character,
</function>
<function name="unichar_type" c:identifier="g_unichar_type">
<doc xml:space="preserve">Classifies a Unicode character by type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the type of the character.</doc>
<type name="UnicodeType" c:type="GUnicodeType"/>
<doc xml:space="preserve">Checks whether @ch is a valid Unicode character. Some possible
integer values of @ch will not be valid. 0 is considered a valid
character, though it's normally a string terminator.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @ch is a valid Unicode character</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="unichar_xdigit_value" c:identifier="g_unichar_xdigit_value">
<doc xml:space="preserve">Determines the numeric value of a character as a hexadecimal
digit.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">If @c is a hex digit (according to
g_unichar_isxdigit()), its numeric value. Otherwise, -1.</doc>
<doc xml:space="preserve">Computes the canonical decomposition of a Unicode character.</doc>
<doc-deprecated xml:space="preserve">Use the more flexible g_unichar_fully_decompose()
instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a newly allocated string of Unicode characters.
@result_len is set to the resulting length of the string.</doc>
This rearranges decomposed characters in the string
according to their combining classes. See the Unicode
manual for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See
[Codes for the representation of names of scripts](http://unicode.org/iso15924/codelists.html)
for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the Unicode script for @iso15924, or
of %G_UNICODE_SCRIPT_INVALID_CODE if @iso15924 is zero and
See
[Codes for the representation of names of scripts](http://unicode.org/iso15924/codelists.html)
for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ISO 15924 code for @script, encoded as an integer,
of zero if @script is %G_UNICODE_SCRIPT_INVALID_CODE or
to cancel the watch at any time that it exists.
The source will never close the fd -- you must do it yourself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source</doc>
<type name="guint" c:type="guint"/>
This is the same as g_unix_fd_add(), except that it allows you to
specify a non-default priority and a provide a #GDestroyNotify for
@user_data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) of the event source</doc>
<type name="guint" c:type="guint"/>
descriptor.
The source will never close the fd -- you must do it yourself.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly created #GSource</doc>
<type name="Source" c:type="GSource*"/>
This function is safe to call from multiple threads concurrently.
You will need to include `pwd.h` to get the definition of `struct passwd`.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">passwd entry, or %NULL on error; free the returned
value with g_free()</doc>
This function does not take %O_CLOEXEC, it takes %FD_CLOEXEC as if
for fcntl(); these are different on Linux/glibc.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if not (and errno will be set).</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Control the non-blocking state of the given file descriptor,
according to @nonblock. On most systems this uses %O_NONBLOCK, but
on some older ones may use %O_NDELAY.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">A convenience function for g_unix_signal_source_new(), which
attaches to the default #GMainContext. You can remove the watch
using g_source_remove().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An ID (greater than 0) for the event source</doc>
<type name="guint" c:type="guint"/>
<doc xml:space="preserve">A convenience function for g_unix_signal_source_new(), which
attaches to the default #GMainContext. You can remove the watch
using g_source_remove().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An ID (greater than 0) for the event source</doc>
<type name="guint" c:type="guint"/>
The source will not initially be associated with any #GMainContext
and must be added to one with g_source_attach() before it will be
executed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly created #GSource</doc>
<type name="Source" c:type="GSource*"/>
See your C library manual for more details about unlink(). Note
that on Windows, it is in general not possible to delete files that
are open to some process, or mapped into memory.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if the name was successfully deleted, -1 if an error
occurred</doc>
use g_get_environ() to get an environment array, modify that with
g_environ_setenv() and g_environ_unsetenv(), and then pass that
array directly to execvpe(), g_spawn_async(), or the like.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See also g_uri_build_with_user(), which allows specifying the
components of the "userinfo" separately.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUri</doc>
<type name="Uri" c:type="GUri*"/>
In contrast to g_uri_build(), this allows specifying the components
of the ‘userinfo’ field separately. Note that @user must be non-%NULL
if either @password or @auth_params is non-%NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUri</doc>
<type name="Uri" c:type="GUri*"/>
Though technically incorrect, this will also allow escaping nul
bytes as `%``00`.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an escaped version of @unescaped. The returned
- string should be freed when no longer needed.</doc>
+ <doc xml:space="preserve">an escaped version of @unescaped.
+ The returned string should be freed when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
they are not escaped. This is useful for the "reserved" characters
in the URI specification, since those are allowed unescaped in some
portions of a URI.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an escaped version of @unescaped. The returned string
-should be freed when no longer needed.</doc>
+ <doc xml:space="preserve">an escaped version of @unescaped. The
+returned string should be freed when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
See g_uri_split(), and the definition of #GUriFlags, for more
information on the effect of @flags.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @uri_string is a valid absolute URI, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
%G_URI_FLAGS_HAS_PASSWORD and %G_URI_FLAGS_HAS_AUTH_PARAMS are ignored if set
in @flags.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an absolute URI string</doc>
<type name="utf8" c:type="gchar*"/>
%G_URI_FLAGS_HAS_PASSWORD and %G_URI_FLAGS_HAS_AUTH_PARAMS are ignored if set
in @flags.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an absolute URI string</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">Splits an URI list conforming to the text/uri-list
mime type defined in RFC 2483 into individual URIs,
discarding any comments. The URIs are not validated.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated %NULL-terminated list
of strings holding the individual URIs. The array should be freed
<doc xml:space="preserve">Parses @uri_string according to @flags. If the result is not a
valid [absolute URI][relative-absolute-uris], it will be discarded, and an
error returned.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GUri.</doc>
+ <doc xml:space="preserve">a new #GUri, or NULL on error.</doc>
<type name="Uri" c:type="GUri*"/>
</return-value>
<parameters>
If @params cannot be parsed (for example, it contains two @separators
characters in a row), then @error is set and %NULL is returned.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A hash table of
- attribute/value pairs, with both names and values fully-decoded; or %NULL
- on error.</doc>
+ <doc xml:space="preserve">
+ A hash table of attribute/value pairs, with both names and values
+ fully-decoded; or %NULL on error.</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="utf8"/>
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
]|
Common schemes include `file`, `https`, `svn+ssh`, etc.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The ‘scheme’ component of the URI, or
%NULL on error. The returned string should be freed when no longer needed.</doc>
Unlike g_uri_parse_scheme(), the returned scheme is normalized to
all-lowercase and does not need to be freed.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The ‘scheme’ component of the URI, or
%NULL on error. The returned string is normalized to all-lowercase, and
(If @base_uri_string is %NULL, this just returns @uri_ref, or
%NULL if @uri_ref is invalid or not absolute.)</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the resolved URI string.</doc>
+ <doc xml:space="preserve">the resolved URI string,
+or NULL on error.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
%G_URI_FLAGS_HAS_AUTH_PARAMS @flags are ignored by g_uri_split(),
since it always returns only the full userinfo; use
g_uri_split_with_user() if you want it split up.</doc>
-
<return-value transfer-ownership="none" skip="1">
<doc xml:space="preserve">%TRUE if @uri_ref parsed successfully, %FALSE
on error.</doc>
mostly a wrapper around that function with simpler arguments.
However, it will return an error if @uri_string is a relative URI,
or does not contain a hostname component.</doc>
-
<return-value transfer-ownership="none" skip="1">
<doc xml:space="preserve">%TRUE if @uri_string parsed successfully,
%FALSE on error.</doc>
be parsed out if @flags contains %G_URI_FLAGS_HAS_PASSWORD, and
@auth_params will only be parsed out if @flags contains
%G_URI_FLAGS_HAS_AUTH_PARAMS.</doc>
-
<return-value transfer-ownership="none" skip="1">
<doc xml:space="preserve">%TRUE if @uri_ref parsed successfully, %FALSE
on error.</doc>
returned. This is useful if you want to avoid for instance having a slash
being expanded in an escaped path element, which might confuse pathname
handling.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an unescaped version of @escaped_string or %NULL on
- error (if decoding failed, using %G_URI_ERROR_FAILED error code). The
- returned #GBytes should be unreffed when no longer needed.</doc>
+ <doc xml:space="preserve">an unescaped version of @escaped_string
+ or %NULL on error (if decoding failed, using %G_URI_ERROR_FAILED error
+ code). The returned #GBytes should be unreffed when no longer needed.</doc>
<type name="Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
Note: `NUL` byte is not accepted in the output, in contrast to
g_uri_unescape_bytes().</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">an unescaped version of @escaped_string or %NULL on error.
-The returned string should be freed when no longer needed. As a
-special case if %NULL is given for @escaped_string, this function
-will return %NULL.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">an unescaped version of @escaped_string,
+or %NULL on error. The returned string should be freed when no longer
+needed. As a special case if %NULL is given for @escaped_string, this
+function will return %NULL.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
that is an error and %NULL will be returned. This is useful if you
want to avoid for instance having a slash being expanded in an
escaped path element, which might confuse pathname handling.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">an unescaped version of @escaped_string. The returned string
-should be freed when no longer needed.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">an unescaped version of @escaped_string.
+The returned string should be freed when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
#G_USEC_PER_SEC macro). g_usleep() may have limited precision,
depending on hardware and operating system; don't rely on the exact
length of the sleep.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<function name="utf16_to_ucs4" c:identifier="g_utf16_to_ucs4" throws="1">
<doc xml:space="preserve">Convert a string from UTF-16 to UCS-4. The result will be
nul-terminated.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UCS-4 string.
This value must be freed with g_free(). If an error occurs,
string; it may e.g. include embedded NUL characters. The only
validation done by this function is to ensure that the input can
be correctly interpreted as UTF-16, i.e. it doesn't contain
-things unpaired surrogates.</doc>
-
+unpaired surrogates or partial character sequences.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UTF-8 string.
This value must be freed with g_free(). If an error occurs,
right would require a more sophisticated collation function that
takes case sensitivity into account. GLib does not currently
provide such a function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string, that is a
case independent form of @str.</doc>
faster to obtain collation keys with g_utf8_collate_key() and
compare the keys with strcmp() when sorting instead of sorting
the original strings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">< 0 if @str1 compares before @str2,
0 if they compare equal, > 0 if @str1 compares after @str2.</doc>
original keys with g_utf8_collate().
Note that this function depends on the [current locale][setlocale].</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string. This string should
be freed with g_free() when you are done with it.</doc>
is sorted as "file1" "file5" "file10".
Note that this function depends on the [current locale][setlocale].</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string. This string should
be freed with g_free() when you are done with it.</doc>
string is reached, a pointer to the terminating nul byte is returned. If
@end is non-%NULL, the return value will be %NULL if the end of the string
is reached.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the found character or %NULL if @end is
set and is reached</doc>
@p does not have to be at the beginning of a UTF-8 character. No check
is made to see if the character found is actually valid other than
it starts with an appropriate byte.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the found character or %NULL.</doc>
<type name="utf8" c:type="gchar*"/>
are undefined. If you are not sure that the bytes are complete
valid Unicode characters, you should use g_utf8_get_char_validated()
instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the resulting character</doc>
<type name="gunichar" c:type="gunichar"/>
Note that g_utf8_get_char_validated() returns (gunichar)-2 if
@max_len is positive and any of the bytes in the first UTF-8 character
sequence are nul.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the resulting character. If @p points to a partial
sequence at the end of a string that could begin a valid
UTF-8 version of it that can be logged or displayed to the user, with the
assumption that it is close enough to ASCII or UTF-8 to be mostly
readable as-is.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a valid UTF-8 string whose content resembles @str</doc>
<type name="utf8" c:type="gchar*"/>
character. The macro returns the start of the next UTF-8 character.
Before using this macro, use g_utf8_validate() to validate strings
that may contain invalid UTF-8.</doc>
-
<parameters>
<parameter name="p">
<doc xml:space="preserve">Pointer to the start of a valid UTF-8 character</doc>
useful if you intend to convert the string to
a legacy encoding or pass it to a system with
less capable Unicode handling.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string, that
is the normalized form of @str, or %NULL if @str
before calling that function. Call g_utf8_strlen() when unsure.
This limitation exists as this function is called frequently during
text rendering and therefore has to be as fast as possible.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the resulting pointer</doc>
<type name="utf8" c:type="gchar*"/>
Since 2.10, this function allows @pos to be before @str, and returns
a negative offset in this case.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the resulting character offset</doc>
<type name="glong" c:type="glong"/>
is made to see if the character found is actually valid other than
it starts with an appropriate byte. If @p might be the first
character of the string, you must use g_utf8_find_prev_char() instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a pointer to the found character</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">Finds the leftmost occurrence of the given Unicode character
in a UTF-8 encoded string, while limiting the search to @len bytes.
If @len is -1, allow unbounded search.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">%NULL if the string does not contain the character,
otherwise, a pointer to the start of the leftmost occurrence
to lowercase. The exact manner that this is done depends
on the current locale, and may result in the number of
characters in the string changing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string, with all characters
converted to lowercase.</doc>
<doc xml:space="preserve">Computes the length of the string in characters, not including
the terminating nul character. If the @max'th byte falls in the
middle of a character, the last (partial) character is not counted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the string in characters</doc>
<type name="glong" c:type="glong"/>
Note you must ensure @dest is at least 4 * @n to fit the
largest possible UTF-8 characters</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@dest</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">Find the rightmost occurrence of the given Unicode character
in a UTF-8 encoded string, while limiting the search to @len bytes.
If @len is -1, allow unbounded search.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">%NULL if the string does not contain the character,
otherwise, a pointer to the start of the rightmost occurrence
Note that unlike g_strreverse(), this function returns
newly-allocated memory, which should be freed with g_free() when
no longer needed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string which is the reverse of @str</doc>
<type name="utf8" c:type="gchar*"/>
on the current locale, and may result in the number of
characters in the string increasing. (For instance, the
German ess-zet will be changed to SS.)</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string, with all characters
converted to uppercase.</doc>
<function name="utf8_substring" c:identifier="g_utf8_substring" version="2.30">
<doc xml:space="preserve">Copies a substring out of a UTF-8 encoded string.
The substring will contain @end_pos - @start_pos characters.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated copy of the requested
substring. Free with g_free() when no longer needed.</doc>
<doc xml:space="preserve">Convert a string from UTF-8 to a 32-bit fixed width
representation as UCS-4. A trailing 0 character will be added to the
string after the converted text.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UCS-4 string.
This value must be freed with g_free(). If an error occurs,
This function is roughly twice as fast as g_utf8_to_ucs4()
but does no error checking on the input. A trailing 0 character
will be added to the string after the converted text.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UCS-4 string.
This value must be freed with g_free().</doc>
<function name="utf8_to_utf16" c:identifier="g_utf8_to_utf16" throws="1">
<doc xml:space="preserve">Convert a string from UTF-8 to UTF-16. A 0 character will be
added to the result after the converted text.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a pointer to a newly allocated UTF-16 string.
This value must be freed with g_free(). If an error occurs,
routines require valid UTF-8 as input; so data read from a file
or the network should be checked with g_utf8_validate() before
doing anything else with it.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the text was valid UTF-8</doc>
<type name="gboolean" c:type="gboolean"/>
As with g_utf8_validate(), but @max_len must be set, and hence this function
will always return %FALSE if any of the bytes of @str are nul.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the text was valid UTF-8</doc>
<type name="gboolean" c:type="gboolean"/>
Note that hyphens are required within the UUID string itself,
as per the aforementioned RFC.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @str is a valid UUID, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Generates a random UUID (RFC 4122 version 4) as a string. It has the same
randomness guarantees as #GRand, so must not be used for cryptographic
purposes such as key generation, nonces, salts or one-time pads.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A string that should be freed with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="variant_get_gtype" c:identifier="g_variant_get_gtype">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
sequences of characters separated by `/` characters. Each sequence
must contain only the characters `[A-Z][a-z][0-9]_`. No sequence
(including the one following the final `/` character) may be empty.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string is a D-Bus object path</doc>
<type name="gboolean" c:type="gboolean"/>
D-Bus type signatures consist of zero or more definite #GVariantType
strings in sequence.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string is a D-Bus type signature</doc>
<type name="gboolean" c:type="gboolean"/>
There may be implementation specific restrictions on deeply nested values,
which would result in a %G_VARIANT_PARSE_ERROR_RECURSION error. #GVariant is
guaranteed to handle nesting up to at least 64 levels.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-floating reference to a #GVariant, or %NULL</doc>
<type name="Variant" c:type="GVariant*"/>
If @source_str was not nul-terminated when you passed it to
g_variant_parse() then you must add nul termination before using this
function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the printed message</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
</function>
<function name="variant_type_checked_" c:identifier="g_variant_type_checked_" moved-to="VariantType.checked_">
-
<return-value transfer-ownership="none">
<type name="VariantType" c:type="const GVariantType*"/>
</return-value>
</parameters>
</function>
<function name="variant_type_string_get_depth_" c:identifier="g_variant_type_string_get_depth_" moved-to="VariantType.string_get_depth_">
-
<return-value transfer-ownership="none">
<type name="gsize" c:type="gsize"/>
</return-value>
<doc xml:space="preserve">Checks if @type_string is a valid GVariant type string. This call is
equivalent to calling g_variant_type_string_scan() and confirming
that the following character is a nul terminator.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type_string is exactly one valid type string
For the simple case of checking if a string is a valid type string,
see g_variant_type_string_is_valid().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a valid type string was found</doc>
<type name="gboolean" c:type="gboolean"/>
multibyte representation is available for the given character.
`glib/gprintf.h` must be explicitly included in order to use this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes printed.</doc>
<type name="gint" c:type="gint"/>
positional parameters, as specified in the Single Unix Specification.
`glib/gprintf.h` must be explicitly included in order to use this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes printed.</doc>
<type name="gint" c:type="gint"/>
positional parameters, as specified in the Single Unix Specification.
`glib/gprintf.h` must be explicitly included in order to use this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes printed.</doc>
<type name="gint" c:type="gint"/>
The format string may contain positional parameters, as specified in
the Single Unix Specification.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes which would be produced if the buffer
was large enough.</doc>
</parameter>
<parameter name="format" transfer-ownership="none">
<doc xml:space="preserve">a standard printf() format string, but notice
- string precision pitfalls][string-precision]</doc>
+ [string precision pitfalls][string-precision]</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="args" transfer-ownership="none">
positional parameters, as specified in the Single Unix Specification.
`glib/gprintf.h` must be explicitly included in order to use this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes printed.</doc>
<type name="gint" c:type="gint"/>
</function>
<function-macro name="warn_if_fail" c:identifier="g_warn_if_fail" version="2.16" introspectable="0">
<doc xml:space="preserve">Logs a warning if the expression is not true.</doc>
-
<parameters>
<parameter name="expr">
<doc xml:space="preserve">the expression to check</doc>
<function name="warn_message" c:identifier="g_warn_message" introspectable="0">
<doc xml:space="preserve">Internal function used to print messages from the public g_warn_if_reached()
and g_warn_if_fail() macros.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<c:include name="gio/gunixsocketaddress.h"/>
<namespace name="Gio" version="2.0" shared-library="libgio-2.0.so.0" c:identifier-prefixes="G" c:symbol-prefixes="g">
<function-macro name="ACTION" c:identifier="G_ACTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="ACTION_GET_IFACE" c:identifier="G_ACTION_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="ACTION_GROUP" c:identifier="G_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="ACTION_GROUP_GET_IFACE" c:identifier="G_ACTION_GROUP_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="ACTION_MAP" c:identifier="G_ACTION_MAP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="ACTION_MAP_GET_IFACE" c:identifier="G_ACTION_MAP_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="APPLICATION" c:identifier="G_APPLICATION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="APPLICATION_CLASS" c:identifier="G_APPLICATION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="APPLICATION_COMMAND_LINE" c:identifier="G_APPLICATION_COMMAND_LINE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="APPLICATION_COMMAND_LINE_CLASS" c:identifier="G_APPLICATION_COMMAND_LINE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="APPLICATION_COMMAND_LINE_GET_CLASS" c:identifier="G_APPLICATION_COMMAND_LINE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="APPLICATION_GET_CLASS" c:identifier="G_APPLICATION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_INFO" c:identifier="G_APP_INFO" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_INFO_GET_IFACE" c:identifier="G_APP_INFO_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_INFO_MONITOR" c:identifier="G_APP_INFO_MONITOR" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_LAUNCH_CONTEXT" c:identifier="G_APP_LAUNCH_CONTEXT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_LAUNCH_CONTEXT_CLASS" c:identifier="G_APP_LAUNCH_CONTEXT_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_LAUNCH_CONTEXT_GET_CLASS" c:identifier="G_APP_LAUNCH_CONTEXT_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="ASYNC_INITABLE" c:identifier="G_ASYNC_INITABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ASYNC_INITABLE_GET_IFACE" c:identifier="G_ASYNC_INITABLE_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ASYNC_RESULT" c:identifier="G_ASYNC_RESULT" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ASYNC_RESULT_GET_IFACE" c:identifier="G_ASYNC_RESULT_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
Probably the only useful thing to do with a #GAction is to put it
inside of a #GSimpleActionGroup.</doc>
-
<function name="name_is_valid" c:identifier="g_action_name_is_valid" version="2.38">
<doc xml:space="preserve">Checks if @action_name is valid.
It is an error to call this function with a non-utf8 @action_name.
@action_name must not be %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @action_name is valid</doc>
<type name="gboolean" c:type="gboolean"/>
target can be specified this way as well: "app.action('target')".
For strings, this third format must be used if * target value is
empty or contains characters other than alphanumerics, '-' and '.'.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, else %FALSE with @error set</doc>
<type name="gboolean" c:type="gboolean"/>
See that function for the types of strings that will be printed by
this function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a detailed format string</doc>
<type name="utf8" c:type="gchar*"/>
type was %NULL then @parameter must also be %NULL.
If the @parameter GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See g_action_get_state_hint().
If the @value GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
An action must be enabled in order to be activated or in order to
have its state changed from outside callers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the action is enabled</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="get_name" invoker="get_name" version="2.28">
<doc xml:space="preserve">Queries the name of @action.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the action</doc>
<type name="utf8" c:type="const gchar*"/>
In the case that this function returns %NULL, you must not give any
#GVariant, but %NULL instead.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the parameter type</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the current state of the action</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the state range hint</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
If the action is not stateful (e.g. created with g_simple_action_new())
then this function will return %NULL. In that case, g_action_get_state()
will return %NULL and you must not call g_action_change_state().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the state type, if the action is stateful</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
type was %NULL then @parameter must also be %NULL.
If the @parameter GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See g_action_get_state_hint().
If the @value GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
An action must be enabled in order to be activated or in order to
have its state changed from outside callers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the action is enabled</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_name" c:identifier="g_action_get_name" version="2.28">
<doc xml:space="preserve">Queries the name of @action.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the action</doc>
<type name="utf8" c:type="const gchar*"/>
In the case that this function returns %NULL, you must not give any
#GVariant, but %NULL instead.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the parameter type</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the current state of the action</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the state range hint</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
If the action is not stateful (e.g. created with g_simple_action_new())
then this function will return %NULL. In that case, g_action_get_state()
will return %NULL and you must not call g_action_change_state().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the state type, if the action is stateful</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
the future.
See g_action_map_add_action_entries() for an example.</doc>
-
<field name="name" writable="1">
<doc xml:space="preserve">the name of the action</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="activate">
<callback name="activate">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="change_state">
<callback name="change_state">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_action_group_query_action(). The other virtual functions should
not be implemented - their "wrappers" are actually implemented with
calls to g_action_group_query_action().</doc>
-
<virtual-method name="action_added" invoker="action_added" version="2.28">
<doc xml:space="preserve">Emits the #GActionGroup::action-added signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Emits the #GActionGroup::action-enabled-changed signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Emits the #GActionGroup::action-removed signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Emits the #GActionGroup::action-state-changed signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the action is expecting a parameter, then the correct type of
parameter must be given as @parameter. If the action is expecting no
parameters then @parameter must be %NULL. See
-g_action_group_get_action_parameter_type().</doc>
-
+g_action_group_get_action_parameter_type().
+
+If the #GActionGroup implementation supports asynchronous remote
+activation over D-Bus, this call may return before the relevant
+D-Bus traffic has been sent, or any replies have been received. In
+order to block on such asynchronous activation calls,
+g_dbus_connection_flush() should be called prior to the code, which
+depends on the result of the action activation. Without flushing
+the D-Bus connection, there is no guarantee that the action would
+have been activated.
+
+The following code which runs in a remote app instance, shows an
+example of a "quit" action being activated on the primary app
+instance over D-Bus. Here g_dbus_connection_flush() is called
+before `exit()`. Without g_dbus_connection_flush(), the "quit" action
+may fail to be activated on the primary instance.
+
+|[<!-- language="C" -->
+// call "quit" action on primary instance
+g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);
+
+// make sure the action is activated now
+g_dbus_connection_flush (...);
+
+g_debug ("application has been terminated. exiting.");
+
+exit (0);
+]|</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See g_action_group_get_action_state_hint().
If the @value GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
An action must be enabled in order to be activated or in order to
have its state changed from outside callers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether or not the action is currently enabled</doc>
<type name="gboolean" c:type="gboolean"/>
The parameter type of a particular action will never change but it is
possible for an action to be removed and for a new action to be added
with the same name but a different parameter type.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the parameter type</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the current state of the action</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the state range hint</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
The state type of a particular action will never change but it is
possible for an action to be removed and for a new action to be added
with the same name but a different state type.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the state type, if the action is stateful</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
</virtual-method>
<virtual-method name="has_action" invoker="has_action" version="2.28">
<doc xml:space="preserve">Checks if the named action exists within @action_group.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the named action exists</doc>
<type name="gboolean" c:type="gboolean"/>
The caller is responsible for freeing the list with g_strfreev() when
it is no longer required.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of the names of the
actions in the group</doc>
fields (as indicated by having a non-%NULL reference passed in) are
filled. If the action doesn't exist, %FALSE is returned and the
fields may or may not have been modified.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the action exists, else %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Emits the #GActionGroup::action-added signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Emits the #GActionGroup::action-enabled-changed signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Emits the #GActionGroup::action-removed signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Emits the #GActionGroup::action-state-changed signal on @action_group.
This function should only be called by #GActionGroup implementations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the action is expecting a parameter, then the correct type of
parameter must be given as @parameter. If the action is expecting no
parameters then @parameter must be %NULL. See
-g_action_group_get_action_parameter_type().</doc>
-
+g_action_group_get_action_parameter_type().
+
+If the #GActionGroup implementation supports asynchronous remote
+activation over D-Bus, this call may return before the relevant
+D-Bus traffic has been sent, or any replies have been received. In
+order to block on such asynchronous activation calls,
+g_dbus_connection_flush() should be called prior to the code, which
+depends on the result of the action activation. Without flushing
+the D-Bus connection, there is no guarantee that the action would
+have been activated.
+
+The following code which runs in a remote app instance, shows an
+example of a "quit" action being activated on the primary app
+instance over D-Bus. Here g_dbus_connection_flush() is called
+before `exit()`. Without g_dbus_connection_flush(), the "quit" action
+may fail to be activated on the primary instance.
+
+|[<!-- language="C" -->
+// call "quit" action on primary instance
+g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);
+
+// make sure the action is activated now
+g_dbus_connection_flush (...);
+
+g_debug ("application has been terminated. exiting.");
+
+exit (0);
+]|</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See g_action_group_get_action_state_hint().
If the @value GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
An action must be enabled in order to be activated or in order to
have its state changed from outside callers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether or not the action is currently enabled</doc>
<type name="gboolean" c:type="gboolean"/>
The parameter type of a particular action will never change but it is
possible for an action to be removed and for a new action to be added
with the same name but a different parameter type.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the parameter type</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the current state of the action</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
The return value (if non-%NULL) should be freed with
g_variant_unref() when it is no longer required.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the state range hint</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
The state type of a particular action will never change but it is
possible for an action to be removed and for a new action to be added
with the same name but a different state type.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the state type, if the action is stateful</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
</method>
<method name="has_action" c:identifier="g_action_group_has_action" version="2.28">
<doc xml:space="preserve">Checks if the named action exists within @action_group.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the named action exists</doc>
<type name="gboolean" c:type="gboolean"/>
The caller is responsible for freeing the list with g_strfreev() when
it is no longer required.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of the names of the
actions in the group</doc>
fields (as indicated by having a non-%NULL reference passed in) are
filled. If the action doesn't exist, %FALSE is returned and the
fields may or may not have been modified.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the action exists, else %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
</interface>
<record name="ActionGroupInterface" c:type="GActionGroupInterface" glib:is-gtype-struct-for="ActionGroup" version="2.28">
<doc xml:space="preserve">The virtual function table for #GActionGroup.</doc>
-
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="has_action">
<callback name="has_action">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the named action exists</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="list_actions">
<callback name="list_actions">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of the names of the
actions in the group</doc>
</field>
<field name="get_action_enabled">
<callback name="get_action_enabled">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether or not the action is currently enabled</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_action_parameter_type">
<callback name="get_action_parameter_type">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the parameter type</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
</field>
<field name="get_action_state_type">
<callback name="get_action_state_type">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the state type, if the action is stateful</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
</field>
<field name="get_action_state_hint">
<callback name="get_action_state_hint">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the state range hint</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</field>
<field name="get_action_state">
<callback name="get_action_state">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the current state of the action</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</field>
<field name="change_action_state">
<callback name="change_action_state">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="activate_action">
<callback name="activate_action">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="action_added">
<callback name="action_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="action_removed">
<callback name="action_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="action_enabled_changed">
<callback name="action_enabled_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="action_state_changed">
<callback name="action_state_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="query_action">
<callback name="query_action">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the action exists, else %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
</record>
<record name="ActionInterface" c:type="GActionInterface" glib:is-gtype-struct-for="Action" version="2.28">
<doc xml:space="preserve">The virtual function table for #GAction.</doc>
-
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_name">
<callback name="get_name">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the action</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="get_parameter_type">
<callback name="get_parameter_type">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the parameter type</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
</field>
<field name="get_state_type">
<callback name="get_state_type">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the state type, if the action is stateful</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
</field>
<field name="get_state_hint">
<callback name="get_state_hint">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the state range hint</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</field>
<field name="get_enabled">
<callback name="get_enabled">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the action is enabled</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_state">
<callback name="get_state">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the current state of the action</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</field>
<field name="change_state">
<callback name="change_state">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="activate">
<callback name="activate">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
prefixed names (e.g. by prepending "app." or "win.").
This is the motivation for the 'Map' part of the interface
name.</doc>
-
<virtual-method name="add_action" invoker="add_action" version="2.32">
<doc xml:space="preserve">Adds an action to the @action_map.
as @action then the old action is dropped from the action map.
The action map takes its own reference on @action.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Looks up the action with the name @action_name in @action_map.
If no such action exists, returns %NULL.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GAction, or %NULL</doc>
<type name="Action" c:type="GAction*"/>
</return-value>
<doc xml:space="preserve">Removes the named action from the action map.
If no action of this name is in the map then nothing happens.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
as @action then the old action is dropped from the action map.
The action map takes its own reference on @action.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
return G_ACTION_GROUP (group);
}
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Looks up the action with the name @action_name in @action_map.
If no such action exists, returns %NULL.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GAction, or %NULL</doc>
<type name="Action" c:type="GAction*"/>
</return-value>
<doc xml:space="preserve">Removes the named action from the action map.
If no action of this name is in the map then nothing happens.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<record name="ActionMapInterface" c:type="GActionMapInterface" glib:is-gtype-struct-for="ActionMap" version="2.32">
<doc xml:space="preserve">The virtual function table for #GActionMap.</doc>
-
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="lookup_action">
<callback name="lookup_action">
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GAction, or %NULL</doc>
<type name="Action" c:type="GAction*"/>
</return-value>
</field>
<field name="add_action">
<callback name="add_action">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="remove_action">
<callback name="remove_action">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
for applications to rely on the format of a particular URIs.
Different launcher applications (e.g. file managers) may have
different ideas of what a given URI means.</doc>
-
<function name="create_from_commandline" c:identifier="g_app_info_create_from_commandline" throws="1">
<doc xml:space="preserve">Creates a new #GAppInfo from the given information.
are applied. For example, if the @commandline contains
percent-encoded URIs, the percent-character must be doubled in order to prevent it from
being swallowed by Exec key unquoting. See the specification for exact quoting rules.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">new #GAppInfo for given command.</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
of `OnlyShowIn` or `NotShowIn`. See g_app_info_should_show().
The returned list does not include applications which have
the `Hidden` key set.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GList of references to #GAppInfos.</doc>
<type name="GLib.List" c:type="GList*">
including the recommended and fallback #GAppInfos. See
g_app_info_get_recommended_for_type() and
g_app_info_get_fallback_for_type().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList of #GAppInfos
for given @content_type or %NULL on error.</doc>
</function>
<function name="get_default_for_type" c:identifier="g_app_info_get_default_for_type">
<doc xml:space="preserve">Gets the default #GAppInfo for a given content type.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">#GAppInfo for given @content_type or
%NULL on error.</doc>
the given URI scheme. A URI scheme is the initial part
of the URI, up to but not including the ':', e.g. "http",
"ftp" or "sip".</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">#GAppInfo for given @uri_scheme or
%NULL on error.</doc>
<doc xml:space="preserve">Gets a list of fallback #GAppInfos for a given content type, i.e.
those applications which claim to support the given content type
by MIME type subclassing and not directly.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList of #GAppInfos
for given @content_type or %NULL on error.</doc>
Note that the first application of the list is the last used one, i.e.
the last one for which g_app_info_set_as_last_used_for_type() has been
called.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList of #GAppInfos
for given @content_type or %NULL on error.</doc>
The D-Bus–activated applications don't have to be started if your application
terminates too soon after this function. To prevent this, use
g_app_info_launch_default_for_uri_async() instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
This is also useful if you want to be sure that the D-Bus–activated
applications are really started before termination and if you are interested
in receiving error information from their activation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="launch_default_for_uri_finish" c:identifier="g_app_info_launch_default_for_uri_finish" version="2.50" throws="1">
<doc xml:space="preserve">Finishes an asynchronous launch-default-for-uri operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the launch was successful, %FALSE if @error is set</doc>
<type name="gboolean" c:type="gboolean"/>
g_app_info_set_as_default_for_extension(),
g_app_info_add_supports_type() or
g_app_info_remove_supports_type().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="add_supports_type" invoker="add_supports_type" throws="1">
<doc xml:space="preserve">Adds a content type to the application information to indicate the
application is capable of opening files with the given content type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="can_delete" invoker="can_delete" version="2.20">
<doc xml:space="preserve">Obtains the information whether the #GAppInfo can be deleted.
See g_app_info_delete().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo can be deleted</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="can_remove_supports_type" invoker="can_remove_supports_type">
<doc xml:space="preserve">Checks if a supported content type can be removed from an application.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if it is possible to remove supported
content types from a given @appinfo, %FALSE if not.</doc>
On some platforms, there may be a difference between user-defined
#GAppInfos which can be deleted, and system-wide ones which cannot.
See g_app_info_can_delete().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo has been deleted</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="dup" invoker="dup">
<doc xml:space="preserve">Creates a duplicate of a #GAppInfo.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a duplicate of @appinfo.</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
<virtual-method name="equal" invoker="equal">
<doc xml:space="preserve">Checks if two #GAppInfos are equal.
-Note that the check <emphasis>may not</emphasis> compare each individual
+Note that the check *may not* compare each individual
field, and only does an identity check. In case detecting changes in the
contents is needed, program code must additionally compare relevant fields.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="get_commandline">
-
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
+ <virtual-method name="get_commandline" invoker="get_commandline" version="2.20">
+ <doc xml:space="preserve">Gets the commandline with which the application will be
+started.</doc>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve">a string containing the @appinfo's commandline,
+ or %NULL if this information is not available</doc>
+ <type name="filename" c:type="const char*"/>
</return-value>
<parameters>
<instance-parameter name="appinfo" transfer-ownership="none">
+ <doc xml:space="preserve">a #GAppInfo</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="get_description" invoker="get_description">
<doc xml:space="preserve">Gets a human-readable description of an installed application.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing a description of the
application @appinfo, or %NULL if none.</doc>
<type name="utf8" c:type="const char*"/>
<virtual-method name="get_display_name" invoker="get_display_name" version="2.24">
<doc xml:space="preserve">Gets the display name of the application. The display name is often more
descriptive to the user than the name itself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the display name of the application for @appinfo, or the name if
no display name is available.</doc>
</instance-parameter>
</parameters>
</virtual-method>
- <virtual-method name="get_executable">
-
+ <virtual-method name="get_executable" invoker="get_executable">
+ <doc xml:space="preserve">Gets the executable's name for the installed application.</doc>
<return-value transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
+ <doc xml:space="preserve">a string containing the @appinfo's application
+binaries name</doc>
+ <type name="filename" c:type="const char*"/>
</return-value>
<parameters>
<instance-parameter name="appinfo" transfer-ownership="none">
+ <doc xml:space="preserve">a #GAppInfo</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="get_icon" invoker="get_icon">
<doc xml:space="preserve">Gets the icon for the application.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the default #GIcon for @appinfo or %NULL
if there is no default icon.</doc>
<type name="Icon" c:type="GIcon*"/>
Note that the returned ID may be %NULL, depending on how
the @appinfo has been constructed.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the application's ID.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</virtual-method>
<virtual-method name="get_name" invoker="get_name">
<doc xml:space="preserve">Gets the installed name of the application.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the application for @appinfo.</doc>
<type name="utf8" c:type="const char*"/>
This function does not take in consideration associations added with
g_app_info_add_supports_type(), but only those exported directly by
the application.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">
a list of content types.</doc>
should it be inherited by further processes. The `DISPLAY` and
`DESKTOP_STARTUP_ID` environment variables are also set, based
on information provided in @context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
Note that even if the launch is successful the application launched
can fail to start if it runs into problems during startup. There is
no way to detect this.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
waits for activation in case of D-Bus–activated applications and also provides
extended error information for sandboxed applications, see notes for
g_app_info_launch_default_for_uri_async().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="launch_uris_finish" invoker="launch_uris_finish" version="2.60" throws="1">
<doc xml:space="preserve">Finishes a g_app_info_launch_uris_async() operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="remove_supports_type" invoker="remove_supports_type" throws="1">
<doc xml:space="preserve">Removes a supported type from an application, if possible.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="set_as_default_for_extension" invoker="set_as_default_for_extension" throws="1">
<doc xml:space="preserve">Sets the application as the default handler for the given file extension.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="set_as_default_for_type" invoker="set_as_default_for_type" throws="1">
<doc xml:space="preserve">Sets the application as the default handler for a given type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
This will make the application appear as first in the list returned
by g_app_info_get_recommended_for_type(), regardless of the default
application for that content type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="should_show" invoker="should_show">
<doc xml:space="preserve">Checks if the application info should be shown in menus that
list available applications.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo should be shown, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="supports_files" invoker="supports_files">
<doc xml:space="preserve">Checks if the application accepts files as arguments.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo supports files.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="supports_uris" invoker="supports_uris">
<doc xml:space="preserve">Checks if the application supports reading files and directories from URIs.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo supports URIs.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="add_supports_type" c:identifier="g_app_info_add_supports_type" throws="1">
<doc xml:space="preserve">Adds a content type to the application information to indicate the
application is capable of opening files with the given content type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="can_delete" c:identifier="g_app_info_can_delete" version="2.20">
<doc xml:space="preserve">Obtains the information whether the #GAppInfo can be deleted.
See g_app_info_delete().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo can be deleted</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="can_remove_supports_type" c:identifier="g_app_info_can_remove_supports_type">
<doc xml:space="preserve">Checks if a supported content type can be removed from an application.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if it is possible to remove supported
content types from a given @appinfo, %FALSE if not.</doc>
On some platforms, there may be a difference between user-defined
#GAppInfos which can be deleted, and system-wide ones which cannot.
See g_app_info_can_delete().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo has been deleted</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="dup" c:identifier="g_app_info_dup">
<doc xml:space="preserve">Creates a duplicate of a #GAppInfo.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a duplicate of @appinfo.</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
<method name="equal" c:identifier="g_app_info_equal">
<doc xml:space="preserve">Checks if two #GAppInfos are equal.
-Note that the check <emphasis>may not</emphasis> compare each individual
+Note that the check *may not* compare each individual
field, and only does an identity check. In case detecting changes in the
contents is needed, program code must additionally compare relevant fields.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_commandline" c:identifier="g_app_info_get_commandline" version="2.20">
<doc xml:space="preserve">Gets the commandline with which the application will be
started.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the @appinfo's commandline,
or %NULL if this information is not available</doc>
<type name="filename" c:type="const char*"/>
</method>
<method name="get_description" c:identifier="g_app_info_get_description">
<doc xml:space="preserve">Gets a human-readable description of an installed application.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing a description of the
application @appinfo, or %NULL if none.</doc>
<type name="utf8" c:type="const char*"/>
<method name="get_display_name" c:identifier="g_app_info_get_display_name" version="2.24">
<doc xml:space="preserve">Gets the display name of the application. The display name is often more
descriptive to the user than the name itself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the display name of the application for @appinfo, or the name if
no display name is available.</doc>
</method>
<method name="get_executable" c:identifier="g_app_info_get_executable">
<doc xml:space="preserve">Gets the executable's name for the installed application.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the @appinfo's application
binaries name</doc>
</method>
<method name="get_icon" c:identifier="g_app_info_get_icon">
<doc xml:space="preserve">Gets the icon for the application.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the default #GIcon for @appinfo or %NULL
if there is no default icon.</doc>
<type name="Icon" c:type="GIcon*"/>
Note that the returned ID may be %NULL, depending on how
the @appinfo has been constructed.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the application's ID.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</method>
<method name="get_name" c:identifier="g_app_info_get_name">
<doc xml:space="preserve">Gets the installed name of the application.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the application for @appinfo.</doc>
<type name="utf8" c:type="const char*"/>
This function does not take in consideration associations added with
g_app_info_add_supports_type(), but only those exported directly by
the application.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">
a list of content types.</doc>
should it be inherited by further processes. The `DISPLAY` and
`DESKTOP_STARTUP_ID` environment variables are also set, based
on information provided in @context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
Note that even if the launch is successful the application launched
can fail to start if it runs into problems during startup. There is
no way to detect this.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
waits for activation in case of D-Bus–activated applications and also provides
extended error information for sandboxed applications, see notes for
g_app_info_launch_default_for_uri_async().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="launch_uris_finish" c:identifier="g_app_info_launch_uris_finish" version="2.60" throws="1">
<doc xml:space="preserve">Finishes a g_app_info_launch_uris_async() operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="remove_supports_type" c:identifier="g_app_info_remove_supports_type" throws="1">
<doc xml:space="preserve">Removes a supported type from an application, if possible.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="set_as_default_for_extension" c:identifier="g_app_info_set_as_default_for_extension" throws="1">
<doc xml:space="preserve">Sets the application as the default handler for the given file extension.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="set_as_default_for_type" c:identifier="g_app_info_set_as_default_for_type" throws="1">
<doc xml:space="preserve">Sets the application as the default handler for a given type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
This will make the application appear as first in the list returned
by g_app_info_get_recommended_for_type(), regardless of the default
application for that content type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="should_show" c:identifier="g_app_info_should_show">
<doc xml:space="preserve">Checks if the application info should be shown in menus that
list available applications.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo should be shown, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="supports_files" c:identifier="g_app_info_supports_files">
<doc xml:space="preserve">Checks if the application accepts files as arguments.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo supports files.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="supports_uris" c:identifier="g_app_info_supports_uris">
<doc xml:space="preserve">Checks if the application supports reading files and directories from URIs.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo supports URIs.</doc>
<type name="gboolean" c:type="gboolean"/>
</bitfield>
<record name="AppInfoIface" c:type="GAppInfoIface" glib:is-gtype-struct-for="AppInfo">
<doc xml:space="preserve">Application Information interface, for operating system portability.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="dup">
<callback name="dup">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a duplicate of @appinfo.</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
</field>
<field name="equal">
<callback name="equal">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_id">
<callback name="get_id">
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the application's ID.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</field>
<field name="get_name">
<callback name="get_name">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the application for @appinfo.</doc>
<type name="utf8" c:type="const char*"/>
</field>
<field name="get_description">
<callback name="get_description">
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing a description of the
application @appinfo, or %NULL if none.</doc>
<type name="utf8" c:type="const char*"/>
</field>
<field name="get_executable">
<callback name="get_executable">
-
<return-value transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
+ <doc xml:space="preserve">a string containing the @appinfo's application
+binaries name</doc>
+ <type name="filename" c:type="const char*"/>
</return-value>
<parameters>
<parameter name="appinfo" transfer-ownership="none">
+ <doc xml:space="preserve">a #GAppInfo</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
</parameter>
</parameters>
</field>
<field name="get_icon">
<callback name="get_icon">
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the default #GIcon for @appinfo or %NULL
if there is no default icon.</doc>
<type name="Icon" c:type="GIcon*"/>
</field>
<field name="launch">
<callback name="launch" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="supports_uris">
<callback name="supports_uris">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo supports URIs.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="supports_files">
<callback name="supports_files">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo supports files.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="launch_uris">
<callback name="launch_uris" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="should_show">
<callback name="should_show">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @appinfo should be shown, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="set_as_default_for_type">
<callback name="set_as_default_for_type" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="set_as_default_for_extension">
<callback name="set_as_default_for_extension" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="add_supports_type">
<callback name="add_supports_type" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="can_remove_supports_type">
<callback name="can_remove_supports_type">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if it is possible to remove supported
content types from a given @appinfo, %FALSE if not.</doc>
</field>
<field name="remove_supports_type">
<callback name="remove_supports_type" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="can_delete">
<callback name="can_delete">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo can be deleted</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="do_delete">
<callback name="do_delete">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @appinfo has been deleted</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_commandline">
<callback name="get_commandline">
-
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve">a string containing the @appinfo's commandline,
+ or %NULL if this information is not available</doc>
+ <type name="filename" c:type="const char*"/>
</return-value>
<parameters>
<parameter name="appinfo" transfer-ownership="none">
+ <doc xml:space="preserve">a #GAppInfo</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
</parameter>
</parameters>
</field>
<field name="get_display_name">
<callback name="get_display_name">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the display name of the application for @appinfo, or the name if
no display name is available.</doc>
</field>
<field name="set_as_last_used_for_type">
<callback name="set_as_last_used_for_type" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_supported_types">
<callback name="get_supported_types">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">
a list of content types.</doc>
</field>
<field name="launch_uris_async">
<callback name="launch_uris_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="launch_uris_finish">
<callback name="launch_uris_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
You must only call g_object_unref() on the return value from under
the same main context as you created it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a reference to a #GAppInfoMonitor</doc>
<type name="AppInfoMonitor" c:type="GAppInfoMonitor*"/>
<doc xml:space="preserve">Integrating the launch with the launching application. This is used to
handle for instance startup notification and launching the new application
on the same screen as the launching window.</doc>
-
<constructor name="new" c:identifier="g_app_launch_context_new">
<doc xml:space="preserve">Creates a new application launch context. This is not normally used,
instead you instantiate a subclass of this, such as #GdkAppLaunchContext.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GAppLaunchContext.</doc>
<type name="AppLaunchContext" c:type="GAppLaunchContext*"/>
<doc xml:space="preserve">Gets the display string for the @context. This is used to ensure new
applications are started on the same display as the launching
application, by setting the `DISPLAY` environment variable.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a display string for the display.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
Startup notification IDs are defined in the
[FreeDesktop.Org Startup Notifications standard](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a startup notification ID for the application, or %NULL if
not supported.</doc>
<type name="utf8" c:type="char*"/>
<virtual-method name="launch_failed" invoker="launch_failed">
<doc xml:space="preserve">Called when an application has failed to launch, so that it can cancel
the application startup notification started in g_app_launch_context_get_startup_notify_id().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="launched">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Gets the display string for the @context. This is used to ensure new
applications are started on the same display as the launching
application, by setting the `DISPLAY` environment variable.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a display string for the display.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
the child process when @context is used to launch an application.
This is a %NULL-terminated array of strings, where each string has
the form `KEY=VALUE`.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
the child's environment</doc>
Startup notification IDs are defined in the
[FreeDesktop.Org Startup Notifications standard](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a startup notification ID for the application, or %NULL if
not supported.</doc>
<type name="utf8" c:type="char*"/>
<method name="launch_failed" c:identifier="g_app_launch_context_launch_failed">
<doc xml:space="preserve">Called when an application has failed to launch, so that it can cancel
the application startup notification started in g_app_launch_context_get_startup_notify_id().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="setenv" c:identifier="g_app_launch_context_setenv" version="2.32">
<doc xml:space="preserve">Arranges for @variable to be set to @value in the child's
environment when @context is used to launch an application.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="unsetenv" c:identifier="g_app_launch_context_unsetenv" version="2.32">
<doc xml:space="preserve">Arranges for @variable to be unset in the child's environment
when @context is used to launch an application.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="AppLaunchContextClass" c:type="GAppLaunchContextClass" glib:is-gtype-struct-for="AppLaunchContext">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_display">
<callback name="get_display">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a display string for the display.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
</field>
<field name="get_startup_notify_id">
<callback name="get_startup_notify_id">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a startup notification ID for the application, or %NULL if
not supported.</doc>
<type name="utf8" c:type="char*"/>
</field>
<field name="launch_failed">
<callback name="launch_failed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="launched">
<callback name="launched">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="AppLaunchContextPrivate" c:type="GAppLaunchContextPrivate" disguised="1">
-
- </record>
+ <record name="AppLaunchContextPrivate" c:type="GAppLaunchContextPrivate" disguised="1"/>
<class name="Application" c:symbol-prefix="application" c:type="GApplication" version="2.28" parent="GObject.Object" glib:type-name="GApplication" glib:get-type="g_application_get_type" glib:type-struct="ApplicationClass">
<doc xml:space="preserve">A #GApplication is the foundation of an application. It wraps some
low-level platform-specific services and is intended to act as the
For an example of using extra D-Bus hooks with GApplication, see
[gapplication-example-dbushooks.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-dbushooks.c).</doc>
-
<implements name="ActionGroup"/>
<implements name="ActionMap"/>
<constructor name="new" c:identifier="g_application_new">
If no application ID is given then some features of #GApplication
(most notably application uniqueness) will be disabled.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GApplication instance</doc>
<type name="Application" c:type="GApplication*"/>
this by using g_application_set_default().
If there is no default application then %NULL is returned.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the default application for this process, or %NULL</doc>
<type name="Application" c:type="GApplication*"/>
</return-value>
contains leading digits they should be escaped by prepending an underscore.
For example, if the owner of 7-zip.org used an application identifier for an
archiving application, it might be named `org._7_zip.Archiver`.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @application_id is valid</doc>
<type name="gboolean" c:type="gboolean"/>
emitted in the primary instance.
The application must be registered before calling this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="add_platform_data">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="after_emit">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="before_emit">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="command_line">
-
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="dbus_register" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="dbus_unregister">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="handle_local_options">
-
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
g_application_run().
See g_application_run() for more details on #GApplication startup.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the commandline has been completely handled</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="name_lost">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
The application must be registered before calling this function
and it must have the %G_APPLICATION_HANDLES_OPEN flag set.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="quit_mainloop">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="run_mainloop">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="shutdown">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="startup">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
emitted in the primary instance.
The application must be registered before calling this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_application_add_main_option_entries() for more details.
See #GOptionEntry for more documentation of the arguments.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
- for %G_OPTION_ARG_FILENAME, use `^&ay`
- for %G_OPTION_ARG_STRING_ARRAY, use `^a&s`
- for %G_OPTION_ARG_FILENAME_ARRAY, use `^a&ay`</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
group to be parsed, but it does not cause you to be "opted in" to the
new functionality whereby unrecognised options are rejected even if
%G_APPLICATION_HANDLES_COMMAND_LINE was given.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The binding holds a reference to @application while it is active, but
not to @object. Instead, the binding is destroyed when @object is
finalized.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_application_id" c:identifier="g_application_get_application_id" version="2.28">
<doc xml:space="preserve">Gets the unique identifier for @application.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the identifier for @application, owned by @application</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
This function must not be called before the application has been
registered. See g_application_get_is_registered().</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GDBusConnection, or %NULL</doc>
<type name="DBusConnection" c:type="GDBusConnection*"/>
</return-value>
This function must not be called before the application has been
registered. See g_application_get_is_registered().</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the object path, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<doc xml:space="preserve">Gets the flags for @application.
See #GApplicationFlags.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the flags for @application</doc>
<type name="ApplicationFlags" c:type="GApplicationFlags"/>
This is the amount of time (in milliseconds) after the last call to
g_application_release() before the application stops running.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the timeout, in milliseconds</doc>
<type name="guint" c:type="guint"/>
<method name="get_is_busy" c:identifier="g_application_get_is_busy" version="2.44">
<doc xml:space="preserve">Gets the application's current busy state, as set through
g_application_mark_busy() or g_application_bind_busy_property().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @application is currently marked as busy</doc>
<type name="gboolean" c:type="gboolean"/>
An application is registered if g_application_register() has been
successfully called.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @application is registered</doc>
<type name="gboolean" c:type="gboolean"/>
The value of this property cannot be accessed before
g_application_register() has been called. See
g_application_get_is_registered().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @application is remote</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the resource base path of @application.
See g_application_set_resource_base_path() for more information.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the base resource path, if one is set</doc>
<type name="utf8" c:type="const gchar*"/>
when a toplevel window is on the screen.
To cancel the hold, call g_application_release().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
spinner).
To cancel the busy indication, use g_application_unmark_busy().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The application must be registered before calling this function
and it must have the %G_APPLICATION_HANDLES_OPEN flag set.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The result of calling g_application_run() again after it returns is
unspecified.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note: the return value of this function is not an indicator that this
instance is or is not the primary instance of the application. See
g_application_get_is_remote() for that.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if registration succeeded</doc>
<type name="gboolean" c:type="gboolean"/>
Never call this function except to cancel the effect of a previous
call to g_application_hold().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
should not be used from applications like editors that need precise
control over when processes invoked via the commandline will exit and
what their exit status will be.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the exit status</doc>
<type name="gint" c:type="int"/>
If @notification is no longer relevant, it can be withdrawn with
g_application_withdraw_notification().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
or things will go very badly wrong. This function is known to
introduce buggy behaviour (ie: signals not emitted on changes to the
action group), so you should really use #GActionMap instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If non-%NULL, the application id must be valid. See
g_application_id_is_valid().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function does not take its own reference on @application. If
@application is destroyed then the default application will revert
back to %NULL.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
registered.
See #GApplicationFlags.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This call has no side effects of its own. The value set here is only
used for next time g_application_release() drops the use count to
zero. Any timeouts currently in progress are not impacted.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Adds a description to the @application option context.
See g_option_context_set_description() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
when the internal #GOptionContext of @application is created.
See g_option_context_new() for more information about @parameter_string.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Adds a summary to the @application option context.
See g_option_context_set_summary() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
this function during the instance initialization. Alternatively, you
can call this function in the #GApplicationClass.startup virtual function,
before chaining up to the parent implementation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Destroys a binding between @property and the busy state of
@application that was previously created with
g_application_bind_busy_property().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function must only be called to cancel the effect of a previous
call to g_application_mark_busy().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that notifications are dismissed when the user clicks on one
of the buttons in a notification or triggers its default action, so
there is no need to explicitly withdraw the notification in that case.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="ApplicationClass" c:type="GApplicationClass" glib:is-gtype-struct-for="Application" version="2.28">
<doc xml:space="preserve">Virtual function table for #GApplication.</doc>
-
<field name="parent_class" readable="0" private="1">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="startup">
<callback name="startup">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="activate">
<callback name="activate">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="open">
<callback name="open">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="command_line">
<callback name="command_line">
-
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</field>
<field name="local_command_line">
<callback name="local_command_line">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the commandline has been completely handled</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="before_emit">
<callback name="before_emit">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="after_emit">
<callback name="after_emit">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="add_platform_data">
<callback name="add_platform_data">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="quit_mainloop">
<callback name="quit_mainloop">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="run_mainloop">
<callback name="run_mainloop">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="shutdown">
<callback name="shutdown">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="dbus_register">
<callback name="dbus_register" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="dbus_unregister">
<callback name="dbus_unregister">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="handle_local_options">
<callback name="handle_local_options">
-
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
</field>
<field name="name_lost">
<callback name="name_lost">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
The complete example can be found here:
[gapplication-example-cmdline3.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-cmdline3.c)</doc>
-
<virtual-method name="get_stdin" invoker="get_stdin" version="2.34">
<doc xml:space="preserve">Gets the stdin of the invoking process.
The #GInputStream can be used to read data passed to the standard
input of the invoking process.
This doesn't work on all platforms. Presently, it is only available
-on UNIX when using a DBus daemon capable of passing file descriptors.
+on UNIX when using a D-Bus daemon capable of passing file descriptors.
If stdin is not available then %NULL will be returned. In the
future, support may be expanded to other platforms.
You must only call this function once per commandline invocation.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GInputStream for stdin</doc>
<type name="InputStream" c:type="GInputStream*"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="print_literal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="printerr_literal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This differs from g_file_new_for_commandline_arg() in that it
resolves relative pathnames using the current working directory of
the invoking process rather than the local process.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile</doc>
<type name="File" c:type="GFile*"/>
The return value is %NULL-terminated and should be freed using
g_strfreev().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
the string array containing the arguments (the argv)</doc>
The return value should not be modified or freed and is valid for as
long as @cmdline exists.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the current directory, or %NULL</doc>
<type name="filename" c:type="const gchar*"/>
See g_application_command_line_getenv() if you are only interested
in the value of a single environment variable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">
the environment strings, or %NULL if they were not sent</doc>
<method name="get_exit_status" c:identifier="g_application_command_line_get_exit_status" version="2.28">
<doc xml:space="preserve">Gets the exit status of @cmdline. See
g_application_command_line_set_exit_status() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the exit status</doc>
<type name="gint" c:type="int"/>
</method>
<method name="get_is_remote" c:identifier="g_application_command_line_get_is_remote" version="2.28">
<doc xml:space="preserve">Determines if @cmdline represents a remote invocation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the invocation was remote</doc>
<type name="gboolean" c:type="gboolean"/>
If no options were sent then an empty dictionary is returned so that
you don't need to check for %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GVariantDict with the options</doc>
<type name="GLib.VariantDict" c:type="GVariantDict*"/>
notification ID.
For local invocation, it will be %NULL.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the platform data, or %NULL</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
The #GInputStream can be used to read data passed to the standard
input of the invoking process.
This doesn't work on all platforms. Presently, it is only available
-on UNIX when using a DBus daemon capable of passing file descriptors.
+on UNIX when using a D-Bus daemon capable of passing file descriptors.
If stdin is not available then %NULL will be returned. In the
future, support may be expanded to other platforms.
You must only call this function once per commandline invocation.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GInputStream for stdin</doc>
<type name="InputStream" c:type="GInputStream*"/>
</return-value>
The return value should not be modified or freed and is valid for as
long as @cmdline exists.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the value of the variable, or %NULL if unset or unsent</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
If @cmdline is a local invocation then this is exactly equivalent to
g_print(). If @cmdline is remote then this is equivalent to calling
g_print() in the invoking process.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @cmdline is a local invocation then this is exactly equivalent to
g_printerr(). If @cmdline is remote then this is equivalent to
calling g_printerr() in the invoking process.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
have been 'successful' in a certain sense, and the exit status is
always zero. If the application use count is zero, though, the exit
status of the local #GApplicationCommandLine is used.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="ApplicationCommandLineClass" c:type="GApplicationCommandLineClass" glib:is-gtype-struct-for="ApplicationCommandLine" version="2.28">
<doc xml:space="preserve">The #GApplicationCommandLineClass-struct
contains private data only.</doc>
-
<field name="parent_class" readable="0" private="1">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="print_literal">
<callback name="print_literal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="printerr_literal">
<callback name="printerr_literal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get_stdin">
<callback name="get_stdin">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GInputStream for stdin</doc>
<type name="InputStream" c:type="GInputStream*"/>
</return-value>
</array>
</field>
</record>
- <record name="ApplicationCommandLinePrivate" c:type="GApplicationCommandLinePrivate" disguised="1">
-
- </record>
+ <record name="ApplicationCommandLinePrivate" c:type="GApplicationCommandLinePrivate" disguised="1"/>
<bitfield name="ApplicationFlags" version="2.28" glib:type-name="GApplicationFlags" glib:get-type="g_application_flags_get_type" c:type="GApplicationFlags">
<doc xml:space="preserve">Flags used to define the behaviour of a #GApplication.</doc>
<member name="flags_none" value="0" c:identifier="G_APPLICATION_FLAGS_NONE" glib:nick="flags-none">
Since: 2.60</doc>
</member>
</bitfield>
- <record name="ApplicationPrivate" c:type="GApplicationPrivate" disguised="1">
-
- </record>
+ <record name="ApplicationPrivate" c:type="GApplicationPrivate" disguised="1"/>
<bitfield name="AskPasswordFlags" glib:type-name="GAskPasswordFlags" glib:get-type="g_ask_password_flags_get_type" c:type="GAskPasswordFlags">
<doc xml:space="preserve">#GAskPasswordFlags are used to request specific information from the
user, or to notify the user of their choices in an authentication
iface->init_finish = foo_init_finish;
}
]|</doc>
-
<function name="new_async" c:identifier="g_async_initable_new_async" version="2.22" introspectable="0">
<doc xml:space="preserve">Helper function for constructing #GAsyncInitable object. This is
similar to g_object_new() but also initializes the object asynchronously.
When the initialization is finished, @callback will be called. You can
then call g_async_initable_new_finish() to get the new object and check
for any errors.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
When the initialization is finished, @callback will be called. You can
then call g_async_initable_new_finish() to get the new object and check
for any errors.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
for any errors.</doc>
<doc-deprecated xml:space="preserve">Use g_object_new_with_properties() and
g_async_initable_init_async() instead. See #GParameter for more information.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
in a thread, so if you want to support asynchronous initialization via
threads, just implement the #GAsyncInitable interface without overriding
any interface methods.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="init_finish" invoker="init_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes asynchronous initialization and returns the result.
See g_async_initable_init_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred, this function
will return %FALSE and set @error appropriately if present.</doc>
in a thread, so if you want to support asynchronous initialization via
threads, just implement the #GAsyncInitable interface without overriding
any interface methods.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="init_finish" c:identifier="g_async_initable_init_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes asynchronous initialization and returns the result.
See g_async_initable_init_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred, this function
will return %FALSE and set @error appropriately if present.</doc>
<method name="new_finish" c:identifier="g_async_initable_new_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes the async construction for the various g_async_initable_new
calls, returning the created object or %NULL on error.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly created #GObject,
or %NULL on error. Free with g_object_unref().</doc>
<record name="AsyncInitableIface" c:type="GAsyncInitableIface" glib:is-gtype-struct-for="AsyncInitable" version="2.22">
<doc xml:space="preserve">Provides an interface for asynchronous initializing object such that
initialization may fail.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="init_async">
<callback name="init_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="init_finish">
<callback name="init_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred, this function
will return %FALSE and set @error appropriately if present.</doc>
where the #GTask was created. All other users of
#GAsyncReadyCallback must likewise call it asynchronously in a
later iteration of the main context.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
higher priority. It is recommended to choose priorities between
%G_PRIORITY_LOW and %G_PRIORITY_HIGH, with %G_PRIORITY_DEFAULT
as a default.</doc>
-
<virtual-method name="get_source_object" invoker="get_source_object">
<doc xml:space="preserve">Gets the source object from a #GAsyncResult.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new reference to the source
object for the @res, or %NULL if there is none.</doc>
</virtual-method>
<virtual-method name="get_user_data" invoker="get_user_data">
<doc xml:space="preserve">Gets the user data from a #GAsyncResult.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the user data for @res.</doc>
<type name="gpointer" c:type="gpointer"/>
<virtual-method name="is_tagged" invoker="is_tagged" version="2.34">
<doc xml:space="preserve">Checks if @res has the given @source_tag (generally a function
pointer indicating the function @res was created by).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @res has the indicated @source_tag, %FALSE if
not.</doc>
</virtual-method>
<method name="get_source_object" c:identifier="g_async_result_get_source_object">
<doc xml:space="preserve">Gets the source object from a #GAsyncResult.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new reference to the source
object for the @res, or %NULL if there is none.</doc>
</method>
<method name="get_user_data" c:identifier="g_async_result_get_user_data">
<doc xml:space="preserve">Gets the user data from a #GAsyncResult.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the user data for @res.</doc>
<type name="gpointer" c:type="gpointer"/>
<method name="is_tagged" c:identifier="g_async_result_is_tagged" version="2.34">
<doc xml:space="preserve">Checks if @res has the given @source_tag (generally a function
pointer indicating the function @res was created by).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @res has the indicated @source_tag, %FALSE if
not.</doc>
This should not be used in new code; #GAsyncResult errors that are
set by virtual methods should also be extracted by virtual methods,
to enable subclasses to chain up correctly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @error is has been filled in with an error from
@res, %FALSE if not.</doc>
</interface>
<record name="AsyncResultIface" c:type="GAsyncResultIface" glib:is-gtype-struct-for="AsyncResult">
<doc xml:space="preserve">Interface definition for #GAsyncResult.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_user_data">
<callback name="get_user_data">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the user data for @res.</doc>
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="get_source_object">
<callback name="get_source_object">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new reference to the source
object for the @res, or %NULL if there is none.</doc>
</field>
<field name="is_tagged">
<callback name="is_tagged">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @res has the indicated @source_tag, %FALSE if
not.</doc>
</field>
</record>
<function-macro name="BUFFERED_INPUT_STREAM" c:identifier="G_BUFFERED_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="BUFFERED_INPUT_STREAM_CLASS" c:identifier="G_BUFFERED_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="BUFFERED_INPUT_STREAM_GET_CLASS" c:identifier="G_BUFFERED_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="BUFFERED_OUTPUT_STREAM" c:identifier="G_BUFFERED_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="BUFFERED_OUTPUT_STREAM_CLASS" c:identifier="G_BUFFERED_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="BUFFERED_OUTPUT_STREAM_GET_CLASS" c:identifier="G_BUFFERED_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="BYTES_ICON" c:identifier="G_BYTES_ICON" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
buffered input stream's buffer, use
g_buffered_input_stream_set_buffer_size(). Note that the buffer's size
cannot be reduced below the size of the data within the buffer.</doc>
-
<implements name="Seekable"/>
<constructor name="new" c:identifier="g_buffered_input_stream_new">
<doc xml:space="preserve">Creates a new #GInputStream from the given @base_stream, with
a buffer set to the default size (4 kilobytes).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream for the given @base_stream.</doc>
<type name="InputStream" c:type="GInputStream*"/>
<constructor name="new_sized" c:identifier="g_buffered_input_stream_new_sized">
<doc xml:space="preserve">Creates a new #GBufferedInputStream from the given @base_stream,
with a buffer set to @size.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream.</doc>
<type name="InputStream" c:type="GInputStream*"/>
For the asynchronous, non-blocking, version of this function, see
g_buffered_input_stream_fill_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes read into @stream's buffer, up to @count,
or -1 on error.</doc>
If @count is -1 then the attempted read size is equal to the number
of bytes that are required to fill the buffer.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="fill_finish" invoker="fill_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous read.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize of the read stream, or `-1` on an error.</doc>
<type name="gssize" c:type="gssize"/>
For the asynchronous, non-blocking, version of this function, see
g_buffered_input_stream_fill_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes read into @stream's buffer, up to @count,
or -1 on error.</doc>
If @count is -1 then the attempted read size is equal to the number
of bytes that are required to fill the buffer.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="fill_finish" c:identifier="g_buffered_input_stream_fill_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous read.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize of the read stream, or `-1` on an error.</doc>
<type name="gssize" c:type="gssize"/>
</method>
<method name="get_available" c:identifier="g_buffered_input_stream_get_available">
<doc xml:space="preserve">Gets the size of the available data within the stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">size of the available stream.</doc>
<type name="gsize" c:type="gsize"/>
</method>
<method name="get_buffer_size" c:identifier="g_buffered_input_stream_get_buffer_size">
<doc xml:space="preserve">Gets the size of the input buffer.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current buffer size.</doc>
<type name="gsize" c:type="gsize"/>
<method name="peek" c:identifier="g_buffered_input_stream_peek">
<doc xml:space="preserve">Peeks in the buffer, copying data of size @count into @buffer,
offset @offset bytes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gsize of the number of bytes peeked, or -1 on error.</doc>
<type name="gsize" c:type="gsize"/>
<doc xml:space="preserve">Returns the buffer with the currently available bytes. The returned
buffer must not be modified and will become invalid when reading from
the stream or filling the buffer.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">
read-only buffer</doc>
partial result will be returned, without an error.
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the byte read from the @stream, or -1 on end of stream or error.</doc>
<type name="gint" c:type="int"/>
<doc xml:space="preserve">Sets the size of the internal buffer of @stream to @size, or to the
size of the contents of the buffer. The buffer can never be resized
smaller than its current contents.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="BufferedInputStreamClass" c:type="GBufferedInputStreamClass" glib:is-gtype-struct-for="BufferedInputStream">
-
<field name="parent_class">
<type name="FilterInputStreamClass" c:type="GFilterInputStreamClass"/>
</field>
<field name="fill">
<callback name="fill" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes read into @stream's buffer, up to @count,
or -1 on error.</doc>
</field>
<field name="fill_async">
<callback name="fill_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="fill_finish">
<callback name="fill_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize of the read stream, or `-1` on an error.</doc>
<type name="gssize" c:type="gssize"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="BufferedInputStreamPrivate" c:type="GBufferedInputStreamPrivate" disguised="1">
-
- </record>
+ <record name="BufferedInputStreamPrivate" c:type="GBufferedInputStreamPrivate" disguised="1"/>
<class name="BufferedOutputStream" c:symbol-prefix="buffered_output_stream" c:type="GBufferedOutputStream" parent="FilterOutputStream" glib:type-name="GBufferedOutputStream" glib:get-type="g_buffered_output_stream_get_type" glib:type-struct="BufferedOutputStreamClass">
<doc xml:space="preserve">Buffered output stream implements #GFilterOutputStream and provides
for buffered writes.
buffered output stream's buffer, use
g_buffered_output_stream_set_buffer_size(). Note that the buffer's
size cannot be reduced below the size of the data within the buffer.</doc>
-
<implements name="Seekable"/>
<constructor name="new" c:identifier="g_buffered_output_stream_new">
<doc xml:space="preserve">Creates a new buffered output stream for a base stream.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GOutputStream for the given @base_stream.</doc>
<type name="OutputStream" c:type="GOutputStream*"/>
</constructor>
<constructor name="new_sized" c:identifier="g_buffered_output_stream_new_sized">
<doc xml:space="preserve">Creates a new buffered output stream with a given buffer size.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GOutputStream with an internal buffer set to @size.</doc>
<type name="OutputStream" c:type="GOutputStream*"/>
</constructor>
<method name="get_auto_grow" c:identifier="g_buffered_output_stream_get_auto_grow">
<doc xml:space="preserve">Checks if the buffer automatically grows as data is added.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @stream's buffer automatically grows,
%FALSE otherwise.</doc>
</method>
<method name="get_buffer_size" c:identifier="g_buffered_output_stream_get_buffer_size">
<doc xml:space="preserve">Gets the size of the buffer in the @stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the current size of the buffer.</doc>
<type name="gsize" c:type="gsize"/>
If @auto_grow is true, then each write will just make the buffer
larger, and you must manually flush the buffer to actually write out
the data to the underlying stream.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_buffer_size" c:identifier="g_buffered_output_stream_set_buffer_size">
<doc xml:space="preserve">Sets the size of the internal buffer to @size.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="BufferedOutputStreamClass" c:type="GBufferedOutputStreamClass" glib:is-gtype-struct-for="BufferedOutputStream">
-
<field name="parent_class">
<type name="FilterOutputStreamClass" c:type="GFilterOutputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="BufferedOutputStreamPrivate" c:type="GBufferedOutputStreamPrivate" disguised="1">
-
- </record>
+ <record name="BufferedOutputStreamPrivate" c:type="GBufferedOutputStreamPrivate" disguised="1"/>
<callback name="BusAcquiredCallback" c:type="GBusAcquiredCallback" version="2.26">
<doc xml:space="preserve">Invoked when a connection to a message bus has been obtained.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="BusNameAcquiredCallback" c:type="GBusNameAcquiredCallback" version="2.26">
<doc xml:space="preserve">Invoked when the name is acquired.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="BusNameAppearedCallback" c:type="GBusNameAppearedCallback" version="2.26">
<doc xml:space="preserve">Invoked when the name being watched is known to have to have an owner.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="BusNameLostCallback" c:type="GBusNameLostCallback" version="2.26">
<doc xml:space="preserve">Invoked when the name is lost or @connection has been closed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is also invoked when the #GDBusConnection on which the watch was
established has been closed. In that case, @connection will be
%NULL.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<implements name="Icon"/>
<implements name="LoadableIcon"/>
<constructor name="new" c:identifier="g_bytes_icon_new" version="2.38">
- <doc xml:space="preserve">Creates a new icon for a bytes.</doc>
-
+ <doc xml:space="preserve">Creates a new icon for a bytes.
+
+This cannot fail, but loading and interpreting the bytes may fail later on
+(for example, if g_loadable_icon_load() is called) if the image is invalid.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon for the given
- @bytes, or %NULL on error.</doc>
+ @bytes.</doc>
<type name="BytesIcon" c:type="GIcon*"/>
</return-value>
<parameters>
</constructor>
<method name="get_bytes" c:identifier="g_bytes_icon_get_bytes" version="2.38">
<doc xml:space="preserve">Gets the #GBytes associated with the given @icon.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GBytes, or %NULL.</doc>
+ <doc xml:space="preserve">a #GBytes.</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</return-value>
<parameters>
</property>
</class>
<function-macro name="CANCELLABLE" c:identifier="G_CANCELLABLE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CANCELLABLE_CLASS" c:identifier="G_CANCELLABLE_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="CANCELLABLE_GET_CLASS" c:identifier="G_CANCELLABLE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CHARSET_CONVERTER" c:identifier="G_CHARSET_CONVERTER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CHARSET_CONVERTER_CLASS" c:identifier="G_CHARSET_CONVERTER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="CHARSET_CONVERTER_GET_CLASS" c:identifier="G_CHARSET_CONVERTER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER" c:identifier="G_CONVERTER" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER_GET_IFACE" c:identifier="G_CONVERTER_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER_INPUT_STREAM" c:identifier="G_CONVERTER_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER_INPUT_STREAM_CLASS" c:identifier="G_CONVERTER_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER_INPUT_STREAM_GET_CLASS" c:identifier="G_CONVERTER_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER_OUTPUT_STREAM" c:identifier="G_CONVERTER_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER_OUTPUT_STREAM_CLASS" c:identifier="G_CONVERTER_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="CONVERTER_OUTPUT_STREAM_GET_CLASS" c:identifier="G_CONVERTER_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CREDENTIALS" c:identifier="G_CREDENTIALS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="CREDENTIALS_CLASS" c:identifier="G_CREDENTIALS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="CREDENTIALS_GET_CLASS" c:identifier="G_CREDENTIALS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
<doc xml:space="preserve">GCancellable is a thread-safe operation cancellation stack used
throughout GIO to allow for cancellation of synchronous and
asynchronous operations.</doc>
-
<constructor name="new" c:identifier="g_cancellable_new">
<doc xml:space="preserve">Creates a new #GCancellable object.
One #GCancellable can be used in multiple consecutive
operations or in multiple concurrent operations.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GCancellable.</doc>
<type name="Cancellable" c:type="GCancellable*"/>
</constructor>
<function name="get_current" c:identifier="g_cancellable_get_current">
<doc xml:space="preserve">Gets the top cancellable from the stack.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GCancellable from the top
of the stack, or %NULL if the stack is empty.</doc>
</return-value>
</function>
<virtual-method name="cancelled">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
cancel the operation from the same thread in which it is running,
then the operation's #GAsyncReadyCallback will not be invoked until
the application returns to the main loop.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@callback is invoked. This lifts a restriction in place for
earlier GLib versions which now makes it easier to write cleanup
code that unconditionally invokes e.g. g_cancellable_cancel().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The id of the signal handler or 0 if @cancellable has already
been cancelled.</doc>
If @cancellable is %NULL or @handler_id is `0` this function does
nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the returned file descriptor.
See also g_cancellable_make_pollfd().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A valid file descriptor. `-1` if the file descriptor
is not supported, or on errors.</doc>
</method>
<method name="is_cancelled" c:identifier="g_cancellable_is_cancelled">
<doc xml:space="preserve">Checks if a cancellable job has been cancelled.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @cancellable is cancelled,
FALSE if called with %NULL or if item is not cancelled.</doc>
You are not supposed to read from the fd yourself, just check for
readable status. Reading to unset the readable status is done
with g_cancellable_reset().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @pollfd was successfully initialized, %FALSE on
failure to prepare the cancellable.</doc>
<method name="pop_current" c:identifier="g_cancellable_pop_current">
<doc xml:space="preserve">Pops @cancellable off the cancellable stack (verifying that @cancellable
is on the top of the stack).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is typically called automatically by e.g. #GFile operations,
so you rarely have to call this yourself.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
block scarce file descriptors until it is finalized if this function
is not called. This can cause the application to run out of file
descriptors when many #GCancellables are used at the same time.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
is to drop the reference to a cancellable after cancelling it,
and let it die with the outstanding async operations. You should
create a fresh cancellable for further async operations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_error_if_cancelled" c:identifier="g_cancellable_set_error_if_cancelled" throws="1">
<doc xml:space="preserve">If the @cancellable is cancelled, sets the error to notify
that the operation was cancelled.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @cancellable was cancelled, %FALSE if it was not</doc>
<type name="gboolean" c:type="gboolean"/>
in which case the source will never trigger.
The new #GSource will hold a reference to the #GCancellable.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GSource.</doc>
<type name="GLib.Source" c:type="GSource*"/>
</glib:signal>
</class>
<record name="CancellableClass" c:type="GCancellableClass" glib:is-gtype-struct-for="Cancellable">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="cancelled">
<callback name="cancelled">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="CancellablePrivate" c:type="GCancellablePrivate" disguised="1">
-
- </record>
+ <record name="CancellablePrivate" c:type="GCancellablePrivate" disguised="1"/>
<callback name="CancellableSourceFunc" c:type="GCancellableSourceFunc" version="2.28">
<doc xml:space="preserve">This is the function type of the callback used for the #GSource
returned by g_cancellable_source_new().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">it should return %FALSE if the source should be removed.</doc>
<type name="gboolean" c:type="gboolean"/>
<class name="CharsetConverter" c:symbol-prefix="charset_converter" c:type="GCharsetConverter" parent="GObject.Object" glib:type-name="GCharsetConverter" glib:get-type="g_charset_converter_get_type" glib:type-struct="CharsetConverterClass">
<doc xml:space="preserve">#GCharsetConverter is an implementation of #GConverter based on
GIConv.</doc>
-
<implements name="Converter"/>
<implements name="Initable"/>
<constructor name="new" c:identifier="g_charset_converter_new" version="2.24" throws="1">
<doc xml:space="preserve">Creates a new #GCharsetConverter.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GCharsetConverter or %NULL on error.</doc>
<type name="CharsetConverter" c:type="GCharsetConverter*"/>
</constructor>
<method name="get_num_fallbacks" c:identifier="g_charset_converter_get_num_fallbacks" version="2.24">
<doc xml:space="preserve">Gets the number of fallbacks that @converter has applied so far.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of fallbacks that @converter has applied</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="get_use_fallback" c:identifier="g_charset_converter_get_use_fallback" version="2.24">
<doc xml:space="preserve">Gets the #GCharsetConverter:use-fallback property.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if fallbacks are used by @converter</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="set_use_fallback" c:identifier="g_charset_converter_set_use_fallback" version="2.24">
<doc xml:space="preserve">Sets the #GCharsetConverter:use-fallback property.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</property>
</class>
<record name="CharsetConverterClass" c:type="GCharsetConverterClass" glib:is-gtype-struct-for="CharsetConverter">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
Some example conversions are: character set conversion,
compression, decompression and regular expression
replace.</doc>
-
<virtual-method name="convert" invoker="convert" version="2.24" throws="1">
<doc xml:space="preserve">This is the main operation used when converting data. It is to be called
multiple times in a loop, and each time it will do some work, i.e.
at a partial multibyte sequence). Converters are supposed to try
to produce as much output as possible and then return an error
(typically %G_IO_ERROR_PARTIAL_INPUT).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GConverterResult, %G_CONVERTER_ERROR on error.</doc>
<type name="ConverterResult" c:type="GConverterResult"/>
<doc xml:space="preserve">Resets all internal state in the converter, making it behave
as if it was just created. If the converter has any internal
state that would produce output then that output is lost.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
at a partial multibyte sequence). Converters are supposed to try
to produce as much output as possible and then return an error
(typically %G_IO_ERROR_PARTIAL_INPUT).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GConverterResult, %G_CONVERTER_ERROR on error.</doc>
<type name="ConverterResult" c:type="GConverterResult"/>
<doc xml:space="preserve">Resets all internal state in the converter, making it behave
as if it was just created. If the converter has any internal
state that would produce output then that output is lost.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Provides an interface for converting data from one type
to another type. The conversion can be stateful
and may fail at any place.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="convert">
<callback name="convert" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GConverterResult, %G_CONVERTER_ERROR on error.</doc>
<type name="ConverterResult" c:type="GConverterResult"/>
</field>
<field name="reset">
<callback name="reset">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
As of GLib 2.34, #GConverterInputStream implements
#GPollableInputStream.</doc>
-
<implements name="PollableInputStream"/>
<constructor name="new" c:identifier="g_converter_input_stream_new">
<doc xml:space="preserve">Creates a new converter input stream for the @base_stream.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInputStream.</doc>
<type name="InputStream" c:type="GInputStream*"/>
</constructor>
<method name="get_converter" c:identifier="g_converter_input_stream_get_converter" version="2.24">
<doc xml:space="preserve">Gets the #GConverter that is used by @converter_stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the converter of the converter input stream</doc>
<type name="Converter" c:type="GConverter*"/>
</field>
</class>
<record name="ConverterInputStreamClass" c:type="GConverterInputStreamClass" glib:is-gtype-struct-for="ConverterInputStream">
-
<field name="parent_class">
<type name="FilterInputStreamClass" c:type="GFilterInputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="ConverterInputStreamPrivate" c:type="GConverterInputStreamPrivate" disguised="1">
-
- </record>
+ <record name="ConverterInputStreamPrivate" c:type="GConverterInputStreamPrivate" disguised="1"/>
<class name="ConverterOutputStream" c:symbol-prefix="converter_output_stream" c:type="GConverterOutputStream" parent="FilterOutputStream" glib:type-name="GConverterOutputStream" glib:get-type="g_converter_output_stream_get_type" glib:type-struct="ConverterOutputStreamClass">
<doc xml:space="preserve">Converter output stream implements #GOutputStream and allows
conversion of data of various types during reading.
As of GLib 2.34, #GConverterOutputStream implements
#GPollableOutputStream.</doc>
-
<implements name="PollableOutputStream"/>
<constructor name="new" c:identifier="g_converter_output_stream_new">
<doc xml:space="preserve">Creates a new converter output stream for the @base_stream.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GOutputStream.</doc>
<type name="OutputStream" c:type="GOutputStream*"/>
</constructor>
<method name="get_converter" c:identifier="g_converter_output_stream_get_converter" version="2.24">
<doc xml:space="preserve">Gets the #GConverter that is used by @converter_stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the converter of the converter output stream</doc>
<type name="Converter" c:type="GConverter*"/>
</field>
</class>
<record name="ConverterOutputStreamClass" c:type="GConverterOutputStreamClass" glib:is-gtype-struct-for="ConverterOutputStream">
-
<field name="parent_class">
<type name="FilterOutputStreamClass" c:type="GFilterOutputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="ConverterOutputStreamPrivate" c:type="GConverterOutputStreamPrivate" disguised="1">
-
- </record>
+ <record name="ConverterOutputStreamPrivate" c:type="GConverterOutputStreamPrivate" disguised="1"/>
<enumeration name="ConverterResult" version="2.24" glib:type-name="GConverterResult" glib:get-type="g_converter_result_get_type" c:type="GConverterResult">
<doc xml:space="preserve">Results returned from g_converter_convert().</doc>
<member name="error" value="0" c:identifier="G_CONVERTER_ERROR" glib:nick="error">
On Solaris (including OpenSolaris and its derivatives), the native
credential type is a `ucred_t`. This corresponds to
%G_CREDENTIALS_TYPE_SOLARIS_UCRED.</doc>
-
<constructor name="new" c:identifier="g_credentials_new" version="2.26">
<doc xml:space="preserve">Creates a new #GCredentials object with credentials matching the
the current process.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GCredentials. Free with g_object_unref().</doc>
<type name="Credentials" c:type="GCredentials*"/>
It is a programming error (which will cause a warning to be
logged) to use this method if there is no #GCredentials support for
the OS or if @native_type isn't supported by the OS.</doc>
-
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The pointer to native credentials or %NULL if the
-operation there is no #GCredentials support for the OS or if
-@native_type isn't supported by the OS. Do not free the returned
-data, it is owned by @credentials.</doc>
+ <doc xml:space="preserve">The pointer to native credentials or
+ %NULL if there is no #GCredentials support for the OS or if @native_type
+ isn't supported by the OS. Do not free the returned data, it is owned
+ by @credentials.</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
OS or if the native credentials type does not contain information
about the UNIX process ID (for example this is the case for
%G_CREDENTIALS_TYPE_APPLE_XUCRED).</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">The UNIX process ID, or -1 if @error is set.</doc>
+ <doc xml:space="preserve">The UNIX process ID, or `-1` if @error is set.</doc>
<type name="gint" c:type="pid_t"/>
</return-value>
<parameters>
This operation can fail if #GCredentials is not supported on the
OS or if the native credentials type does not contain information
about the UNIX user.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">The UNIX user identifier or -1 if @error is set.</doc>
+ <doc xml:space="preserve">The UNIX user identifier or `-1` if @error is set.</doc>
<type name="guint" c:type="uid_t"/>
</return-value>
<parameters>
This operation can fail if #GCredentials is not supported on the
the OS.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @credentials and @other_credentials has the same
user, %FALSE otherwise or if @error is set.</doc>
It is a programming error (which will cause a warning to be
logged) to use this method if there is no #GCredentials support for
the OS or if @native_type isn't supported by the OS.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
OS or if the native credentials type does not contain information
about the UNIX user. It can also fail if the OS does not allow the
use of "spoofed" credentials.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @uid was set, %FALSE if error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Creates a human-readable textual representation of @credentials
that can be used in logging and debug messages. The format of the
returned string may change in future GLib release.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A string that should be freed with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</class>
<record name="CredentialsClass" c:type="GCredentialsClass" disguised="1" glib:is-gtype-struct-for="Credentials" version="2.26">
<doc xml:space="preserve">Class structure for #GCredentials.</doc>
-
</record>
<enumeration name="CredentialsType" version="2.26" glib:type-name="GCredentialsType" glib:get-type="g_credentials_type_get_type" c:type="GCredentialsType">
<doc xml:space="preserve">Enumeration describing different kinds of native credential types.</doc>
</member>
</enumeration>
<function-macro name="DATAGRAM_BASED" c:identifier="G_DATAGRAM_BASED" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DATAGRAM_BASED_GET_IFACE" c:identifier="G_DATAGRAM_BASED_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DATA_INPUT_STREAM" c:identifier="G_DATA_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DATA_INPUT_STREAM_CLASS" c:identifier="G_DATA_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DATA_INPUT_STREAM_GET_CLASS" c:identifier="G_DATA_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DATA_OUTPUT_STREAM" c:identifier="G_DATA_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DATA_OUTPUT_STREAM_CLASS" c:identifier="G_DATA_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DATA_OUTPUT_STREAM_GET_CLASS" c:identifier="G_DATA_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_ACTION_GROUP" c:identifier="G_DBUS_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_ACTION_GROUP_CLASS" c:identifier="G_DBUS_ACTION_GROUP_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_ACTION_GROUP_GET_CLASS" c:identifier="G_DBUS_ACTION_GROUP_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_AUTH_OBSERVER" c:identifier="G_DBUS_AUTH_OBSERVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_CONNECTION" c:identifier="G_DBUS_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_INTERFACE" c:identifier="G_DBUS_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_INTERFACE_GET_IFACE" c:identifier="G_DBUS_INTERFACE_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_INTERFACE_SKELETON" c:identifier="G_DBUS_INTERFACE_SKELETON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_INTERFACE_SKELETON_CLASS" c:identifier="G_DBUS_INTERFACE_SKELETON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_INTERFACE_SKELETON_GET_CLASS" c:identifier="G_DBUS_INTERFACE_SKELETON_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_MENU_MODEL" c:identifier="G_DBUS_MENU_MODEL" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_MESSAGE" c:identifier="G_DBUS_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_METHOD_INVOCATION" c:identifier="G_DBUS_METHOD_INVOCATION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT" c:identifier="G_DBUS_OBJECT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_GET_IFACE" c:identifier="G_DBUS_OBJECT_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER" c:identifier="G_DBUS_OBJECT_MANAGER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER_CLIENT" c:identifier="G_DBUS_OBJECT_MANAGER_CLIENT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER_CLIENT_CLASS" c:identifier="G_DBUS_OBJECT_MANAGER_CLIENT_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER_CLIENT_GET_CLASS" c:identifier="G_DBUS_OBJECT_MANAGER_CLIENT_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER_GET_IFACE" c:identifier="G_DBUS_OBJECT_MANAGER_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER_SERVER" c:identifier="G_DBUS_OBJECT_MANAGER_SERVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER_SERVER_CLASS" c:identifier="G_DBUS_OBJECT_MANAGER_SERVER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_MANAGER_SERVER_GET_CLASS" c:identifier="G_DBUS_OBJECT_MANAGER_SERVER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_PROXY" c:identifier="G_DBUS_OBJECT_PROXY" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_PROXY_CLASS" c:identifier="G_DBUS_OBJECT_PROXY_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_PROXY_GET_CLASS" c:identifier="G_DBUS_OBJECT_PROXY_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_SKELETON" c:identifier="G_DBUS_OBJECT_SKELETON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_SKELETON_CLASS" c:identifier="G_DBUS_OBJECT_SKELETON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_OBJECT_SKELETON_GET_CLASS" c:identifier="G_DBUS_OBJECT_SKELETON_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_PROXY" c:identifier="G_DBUS_PROXY" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_PROXY_CLASS" c:identifier="G_DBUS_PROXY_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_PROXY_GET_CLASS" c:identifier="G_DBUS_PROXY_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DBUS_SERVER" c:identifier="G_DBUS_SERVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
already be filled in. The correct thing to do is connect the signals
for the action group to monitor for changes and then to call
g_action_group_list_actions() to get the initial list.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GDBusActionGroup</doc>
<type name="DBusActionGroup" c:type="GDBusActionGroup*"/>
</class>
<record name="DBusAnnotationInfo" c:type="GDBusAnnotationInfo" version="2.26" glib:type-name="GDBusAnnotationInfo" glib:get-type="g_dbus_annotation_info_get_type" c:symbol-prefix="dbus_annotation_info">
<doc xml:space="preserve">Information about an annotation.</doc>
-
<field name="ref_count" writable="1">
<doc xml:space="preserve">The reference count or -1 if statically allocated.</doc>
<type name="gint" c:type="volatile gint"/>
<method name="ref" c:identifier="g_dbus_annotation_info_ref" version="2.26">
<doc xml:space="preserve">If @info is statically allocated does nothing. Otherwise increases
the reference count.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The same @info.</doc>
<type name="DBusAnnotationInfo" c:type="GDBusAnnotationInfo*"/>
<doc xml:space="preserve">If @info is statically allocated, does nothing. Otherwise decreases
the reference count of @info. When its reference count drops to 0,
the memory used is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Looks up the value of an annotation.
The cost of this function is O(n) in number of annotations.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value or %NULL if not found. Do not free, it is owned by @annotations.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</record>
<record name="DBusArgInfo" c:type="GDBusArgInfo" version="2.26" glib:type-name="GDBusArgInfo" glib:get-type="g_dbus_arg_info_get_type" c:symbol-prefix="dbus_arg_info">
<doc xml:space="preserve">Information about an argument for a method or a signal.</doc>
-
<field name="ref_count" writable="1">
<doc xml:space="preserve">The reference count or -1 if statically allocated.</doc>
<type name="gint" c:type="volatile gint"/>
<method name="ref" c:identifier="g_dbus_arg_info_ref" version="2.26">
<doc xml:space="preserve">If @info is statically allocated does nothing. Otherwise increases
the reference count.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The same @info.</doc>
<type name="DBusArgInfo" c:type="GDBusArgInfo*"/>
<doc xml:space="preserve">If @info is statically allocated, does nothing. Otherwise decreases
the reference count of @info. When its reference count drops to 0,
the memory used is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
connections from any successfully authenticated user (but not from
anonymous connections using the `ANONYMOUS` mechanism). If you only
want to allow D-Bus connections from processes owned by the same uid
-as the server, you would use a signal handler like the following:
+as the server, since GLib 2.68, you should use the
+%G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag. It’s equivalent
+to the following signal handler:
|[<!-- language="C" -->
static gboolean
]|</doc>
<constructor name="new" c:identifier="g_dbus_auth_observer_new" version="2.26">
<doc xml:space="preserve">Creates a new #GDBusAuthObserver object.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusAuthObserver. Free with g_object_unref().</doc>
<type name="DBusAuthObserver" c:type="GDBusAuthObserver*"/>
</constructor>
<method name="allow_mechanism" c:identifier="g_dbus_auth_observer_allow_mechanism" version="2.34">
<doc xml:space="preserve">Emits the #GDBusAuthObserver::allow-mechanism signal on @observer.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mechanism can be used to authenticate the other peer, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="authorize_authenticated_peer" c:identifier="g_dbus_auth_observer_authorize_authenticated_peer" version="2.26">
<doc xml:space="preserve">Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the peer is authorized, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
<implements name="Initable"/>
<constructor name="new_finish" c:identifier="g_dbus_connection_new_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_connection_new().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set. Free
with g_object_unref().</doc>
</constructor>
<constructor name="new_for_address_finish" c:identifier="g_dbus_connection_new_for_address_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_connection_new_for_address().</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set. Free with
- g_object_unref().</doc>
+ <doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set.
+ Free with g_object_unref().</doc>
<type name="DBusConnection" c:type="GDBusConnection*"/>
</return-value>
<parameters>
This constructor can only be used to initiate client-side
connections - use g_dbus_connection_new_sync() if you need to act
as the server. In particular, @flags cannot contain the
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER,
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS or
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flags.
This is a synchronous failable constructor. See
g_dbus_connection_new_for_address() for the asynchronous version.
If @observer is not %NULL it may be used to control the
authentication process.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set. Free with
- g_object_unref().</doc>
+ <doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set.
+ Free with g_object_unref().</doc>
<type name="DBusConnection" c:type="GDBusConnection*"/>
</return-value>
<parameters>
This is a synchronous failable constructor. See
g_dbus_connection_new() for the asynchronous version.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set. Free with g_object_unref().</doc>
+ <doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set.
+ Free with g_object_unref().</doc>
<type name="DBusConnection" c:type="GDBusConnection*"/>
</return-value>
<parameters>
This is an asynchronous failable constructor. See
g_dbus_connection_new_sync() for the synchronous
version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This constructor can only be used to initiate client-side
connections - use g_dbus_connection_new() if you need to act as the
server. In particular, @flags cannot contain the
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER,
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS or
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flags.
When the operation is finished, @callback will be invoked. You can
then call g_dbus_connection_new_for_address_finish() to get the result of
This is an asynchronous failable constructor. See
g_dbus_connection_new_for_address_sync() for the synchronous
version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
needed. (It is not guaranteed to be called synchronously when the
filter is removed, and may be called after @connection has been
destroyed.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a filter identifier that can be used with
g_dbus_connection_remove_filter()</doc>
If @callback is %NULL then the D-Bus method call message will be sent with
the %G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED flag set.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="call_finish" c:identifier="g_dbus_connection_call_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_connection_call().</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
- return values. Free with g_variant_unref().</doc>
+ <doc xml:space="preserve">%NULL if @error is set. Otherwise a non-floating
+ #GVariant tuple with return values. Free with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
The calling thread is blocked until a reply is received. See
g_dbus_connection_call() for the asynchronous version of
this method.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
- return values. Free with g_variant_unref().</doc>
+ <doc xml:space="preserve">%NULL if @error is set. Otherwise a non-floating
+ #GVariant tuple with return values. Free with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<method name="call_with_unix_fd_list" c:identifier="g_dbus_connection_call_with_unix_fd_list" version="2.30">
<doc xml:space="preserve">Like g_dbus_connection_call() but also takes a #GUnixFDList object.
+The file descriptors normally correspond to %G_VARIANT_TYPE_HANDLE
+values in the body of the message. For example, if a message contains
+two file descriptors, @fd_list would have length 2, and
+`g_variant_new_handle (0)` and `g_variant_new_handle (1)` would appear
+somewhere in the body of the message (not necessarily in that order!)
+to represent the file descriptors at indexes 0 and 1 respectively.
+
+When designing D-Bus APIs that are intended to be interoperable,
+please note that non-GDBus implementations of D-Bus can usually only
+access file descriptors if they are referenced in this way by a
+value of type %G_VARIANT_TYPE_HANDLE in the body of the message.
+
This method is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
<method name="call_with_unix_fd_list_finish" c:identifier="g_dbus_connection_call_with_unix_fd_list_finish" version="2.30" throws="1">
- <doc xml:space="preserve">Finishes an operation started with g_dbus_connection_call_with_unix_fd_list().</doc>
-
+ <doc xml:space="preserve">Finishes an operation started with g_dbus_connection_call_with_unix_fd_list().
+
+The file descriptors normally correspond to %G_VARIANT_TYPE_HANDLE
+values in the body of the message. For example,
+if g_variant_get_handle() returns 5, that is intended to be a reference
+to the file descriptor that can be accessed by
+`g_unix_fd_list_get (*out_fd_list, 5, ...)`.
+
+When designing D-Bus APIs that are intended to be interoperable,
+please note that non-GDBus implementations of D-Bus can usually only
+access file descriptors if they are referenced in this way by a
+value of type %G_VARIANT_TYPE_HANDLE in the body of the message.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
- return values. Free with g_variant_unref().</doc>
+ <doc xml:space="preserve">%NULL if @error is set. Otherwise a non-floating
+ #GVariant tuple with return values. Free with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
</method>
<method name="call_with_unix_fd_list_sync" c:identifier="g_dbus_connection_call_with_unix_fd_list_sync" version="2.30" throws="1">
<doc xml:space="preserve">Like g_dbus_connection_call_sync() but also takes and returns #GUnixFDList objects.
+See g_dbus_connection_call_with_unix_fd_list() and
+g_dbus_connection_call_with_unix_fd_list_finish() for more details.
This method is only available on UNIX.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
- return values. Free with g_variant_unref().</doc>
+ <doc xml:space="preserve">%NULL if @error is set. Otherwise a non-floating
+ #GVariant tuple with return values. Free with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
then call g_dbus_connection_close_finish() to get the result of the
operation. See g_dbus_connection_close_sync() for the synchronous
version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="close_finish" c:identifier="g_dbus_connection_close_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_connection_close().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation succeeded, %FALSE if @error is set</doc>
<type name="gboolean" c:type="gboolean"/>
until this is done. See g_dbus_connection_close() for the
asynchronous version of this method and more details about what it
does.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation succeeded, %FALSE if @error is set</doc>
<type name="gboolean" c:type="gboolean"/>
This can only fail if @parameters is not compatible with the D-Bus protocol
(%G_IO_ERROR_INVALID_ARGUMENT), or if @connection has been closed
(%G_IO_ERROR_CLOSED).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE unless @error is set</doc>
<type name="gboolean" c:type="gboolean"/>
rather likely to cause changes on the action group, this effectively
limits a given action group to being exported from only one main
context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID of the export (never zero), or 0 in case of failure</doc>
<type name="guint" c:type="guint"/>
You can unexport the menu model using
g_dbus_connection_unexport_menu_model() with the return value of
this function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID of the export (never zero), or 0 in case of failure</doc>
<type name="guint" c:type="guint"/>
then call g_dbus_connection_flush_finish() to get the result of the
operation. See g_dbus_connection_flush_sync() for the synchronous
version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="flush_finish" c:identifier="g_dbus_connection_flush_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_connection_flush().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation succeeded, %FALSE if @error is set</doc>
<type name="gboolean" c:type="gboolean"/>
until this is done. See g_dbus_connection_flush() for the
asynchronous version of this method and more details about what it
does.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation succeeded, %FALSE if @error is set</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_capabilities" c:identifier="g_dbus_connection_get_capabilities" version="2.26">
<doc xml:space="preserve">Gets the capabilities negotiated with the remote peer</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">zero or more flags from the #GDBusCapabilityFlags enumeration</doc>
<type name="DBusCapabilityFlags" c:type="GDBusCapabilityFlags"/>
<doc xml:space="preserve">Gets whether the process is terminated when @connection is
closed by the remote peer. See
#GDBusConnection:exit-on-close for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the process is terminated when @connection is
closed by the remote peer</doc>
</method>
<method name="get_flags" c:identifier="g_dbus_connection_get_flags" version="2.60">
<doc xml:space="preserve">Gets the flags used to construct this connection</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">zero or more flags from the #GDBusConnectionFlags enumeration</doc>
<type name="DBusConnectionFlags" c:type="GDBusConnectionFlags"/>
<method name="get_guid" c:identifier="g_dbus_connection_get_guid" version="2.26">
<doc xml:space="preserve">The GUID of the peer performing the role of server when
authenticating. See #GDBusConnection:guid for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The GUID. Do not free this string, it is owned by
@connection.</doc>
API such as g_dbus_connection_send_message() as well as
high-level API such as g_dbus_connection_emit_signal(),
g_dbus_connection_call() or g_dbus_proxy_call().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the last used serial or zero when no message has been sent
within the current thread</doc>
In a message bus setup, the message bus is always the server and
each application is a client. So this method will always return
%NULL for message bus clients.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GCredentials or %NULL if not
available. Do not free this object, it is owned by @connection.</doc>
While the #GDBusConnection is active, it will interact with this
stream from a worker thread, so it is not safe to interact with
the stream directly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the stream used for IO</doc>
<type name="IOStream" c:type="GIOStream*"/>
<doc xml:space="preserve">Gets the unique name of @connection as assigned by the message
bus. This can also be used to figure out if @connection is a
message bus connection.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the unique name or %NULL if @connection is not a message
bus connection. Do not free this string, it is owned by
</method>
<method name="is_closed" c:identifier="g_dbus_connection_is_closed" version="2.26">
<doc xml:space="preserve">Gets whether @connection is closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the connection is closed, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
as the object is exported. Also note that @vtable will be copied.
See this [server][gdbus-server] for an example of how to use this method.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if @error is set, otherwise a registration id (never 0)
that can be used with g_dbus_connection_unregister_object()</doc>
<method name="register_object_with_closures" c:identifier="g_dbus_connection_register_object_with_closures" shadows="register_object" version="2.46" throws="1">
<doc xml:space="preserve">Version of g_dbus_connection_register_object() using closures instead of a
#GDBusInterfaceVTable for easier binding in other languages.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">0 if @error is set, otherwise a registration id (never 0)
+ <doc xml:space="preserve">0 if @error is set, otherwise a registration ID (never 0)
that can be used with g_dbus_connection_unregister_object() .</doc>
<type name="guint" c:type="guint"/>
</return-value>
See this [server][gdbus-subtree-server] for an example of how to use
this method.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">0 if @error is set, otherwise a subtree registration id (never 0)
-that can be used with g_dbus_connection_unregister_subtree() .</doc>
+ <doc xml:space="preserve">0 if @error is set, otherwise a subtree registration ID (never 0)
+that can be used with g_dbus_connection_unregister_subtree()</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
free data that the filter might be using. Instead, you should pass
a #GDestroyNotify to g_dbus_connection_add_filter(), which will be
called when it is guaranteed that the data is no longer needed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
will be assigned by @connection and set on @message via
g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
serial number used will be written to this location prior to
-submitting the message to the underlying transport.
+submitting the message to the underlying transport. While it has a `volatile`
+qualifier, this is a historical artifact and the argument passed to it should
+not be `volatile`.
If @connection is closed then the operation will fail with
%G_IO_ERROR_CLOSED. If @message is not well-formed,
Note that @message must be unlocked, unless @flags contain the
%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the message was well-formed and queued for
transmission, %FALSE if @error is set</doc>
will be assigned by @connection and set on @message via
g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
serial number used will be written to this location prior to
-submitting the message to the underlying transport.
+submitting the message to the underlying transport. While it has a `volatile`
+qualifier, this is a historical artifact and the argument passed to it should
+not be `volatile`.
If @connection is closed then the operation will fail with
%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
for an example of how to use this low-level API to send and receive
UNIX file descriptors.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
for an example of how to use this low-level API to send and receive
UNIX file descriptors.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a locked #GDBusMessage or %NULL if @error is set</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
will be assigned by @connection and set on @message via
g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
serial number used will be written to this location prior to
-submitting the message to the underlying transport.
+submitting the message to the underlying transport. While it has a `volatile`
+qualifier, this is a historical artifact and the argument passed to it should
+not be `volatile`.
If @connection is closed then the operation will fail with
%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
Note that @message must be unlocked, unless @flags contain the
%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a locked #GDBusMessage that is the reply
to @message or %NULL if @error is set</doc>
If you are setting @exit_on_close to %FALSE for the shared session
bus connection, you should make sure that your application exits
when the user session ends.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
to never be zero.
This function can never fail.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a subscription identifier that can be used with g_dbus_connection_signal_unsubscribe()</doc>
<type name="guint" c:type="guint"/>
g_dbus_connection_signal_subscribe() is called, in order to avoid memory
leaks through callbacks queued on the #GMainContext after it’s stopped being
iterated.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING, this method
starts processing messages. Does nothing on if @connection wasn't
created with this flag or if the method has already been called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is an error to call this function with an ID that wasn't returned
from g_dbus_connection_export_action_group() or to call it with the
same ID more than once.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is an error to call this function with an ID that wasn't returned
from g_dbus_connection_export_menu_model() or to call it with the
same ID more than once.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="unregister_object" c:identifier="g_dbus_connection_unregister_object" version="2.26">
<doc xml:space="preserve">Unregisters an object.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the object was unregistered, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="unregister_subtree" c:identifier="g_dbus_connection_unregister_subtree" version="2.26">
<doc xml:space="preserve">Unregisters a subtree.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the subtree was unregistered, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
If you are constructing a #GDBusConnection and pass
%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER in the
-#GDBusConnection:flags property then you MUST also set this
+#GDBusConnection:flags property then you **must** also set this
property to a valid guid.
If you are constructing a #GDBusConnection and pass
This function is typically only used in object mappings to put a
#GError on the wire. Regular applications should not use it.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A D-Bus error name (never %NULL). Free with g_free().</doc>
+ <doc xml:space="preserve">A D-Bus error name (never %NULL).
+ Free with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
#GErrors returned from functions handling remote method calls
(e.g. g_dbus_connection_call_finish()) unless
g_dbus_error_strip_remote_error() has been used on @error.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">an allocated string or %NULL if the D-Bus error name
- could not be found. Free with g_free().</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">an allocated string or %NULL if the
+ D-Bus error name could not be found. Free with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<function name="is_remote_error" c:identifier="g_dbus_error_is_remote_error" version="2.26">
<doc xml:space="preserve">Checks if @error represents an error received via D-Bus from a remote peer. If so,
use g_dbus_error_get_remote_error() to get the name of the error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @error represents an error from a remote peer,
%FALSE otherwise.</doc>
This function is typically only used in object mappings to prepare
#GError instances for applications. Regular applications should not use
it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">An allocated #GError. Free with g_error_free().</doc>
<type name="GLib.Error" c:type="GError*"/>
This is typically done in the routine that returns the #GQuark for
an error domain.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the association was created, %FALSE if it already
exists.</doc>
</parameters>
</function>
<function name="register_error_domain" c:identifier="g_dbus_error_register_error_domain" version="2.26">
- <doc xml:space="preserve">Helper function for associating a #GError error domain with D-Bus error names.</doc>
-
+ <doc xml:space="preserve">Helper function for associating a #GError error domain with D-Bus error names.
+
+While @quark_volatile has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Does nothing if @error is %NULL. Otherwise sets *@error to
a new #GError created with g_dbus_error_new_for_dbus_error()
with @dbus_error_message prepend with @format (unless %NULL).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="set_dbus_error_valist" c:identifier="g_dbus_error_set_dbus_error_valist" version="2.26" introspectable="0">
<doc xml:space="preserve">Like g_dbus_error_set_dbus_error() but intended for language bindings.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
received on the wire.
This is typically used when presenting errors to the end user.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if information was stripped, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="unregister_error" c:identifier="g_dbus_error_unregister_error" version="2.26">
<doc xml:space="preserve">Destroys an association previously set up with g_dbus_error_register_error().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the association was destroyed, %FALSE if it wasn't found.</doc>
<type name="gboolean" c:type="gboolean"/>
</enumeration>
<record name="DBusErrorEntry" c:type="GDBusErrorEntry" version="2.26">
<doc xml:space="preserve">Struct used in g_dbus_error_register_error_domain().</doc>
-
<field name="error_code" writable="1">
<doc xml:space="preserve">An error code.</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">The #GDBusInterface type is the base type for D-Bus interfaces both
on the service side (see #GDBusInterfaceSkeleton) and client side
(see #GDBusProxy).</doc>
-
<virtual-method name="dup_object" invoker="dup_object" version="2.32">
<doc xml:space="preserve">Gets the #GDBusObject that @interface_ belongs to, if any.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A #GDBusObject or %NULL. The returned
reference should be freed with g_object_unref().</doc>
<type name="DBusObject" c:type="GDBusObject*"/>
<virtual-method name="get_info" invoker="get_info" version="2.30">
<doc xml:space="preserve">Gets D-Bus introspection information for the D-Bus interface
implemented by @interface_.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
It is not safe to use the returned object if @interface_ or
the returned object is being used from other threads. See
g_dbus_interface_dup_object() for a thread-safe alternative.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusObject or %NULL. The returned
reference belongs to @interface_ and should not be freed.</doc>
<type name="DBusObject" c:type="GDBusObject*"/>
<doc xml:space="preserve">Sets the #GDBusObject for @interface_ to @object.
Note that @interface_ will hold a weak reference to @object.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="dup_object" c:identifier="g_dbus_interface_dup_object" shadows="get_object" version="2.32">
<doc xml:space="preserve">Gets the #GDBusObject that @interface_ belongs to, if any.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A #GDBusObject or %NULL. The returned
reference should be freed with g_object_unref().</doc>
<type name="DBusObject" c:type="GDBusObject*"/>
<method name="get_info" c:identifier="g_dbus_interface_get_info" version="2.30">
<doc xml:space="preserve">Gets D-Bus introspection information for the D-Bus interface
implemented by @interface_.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
It is not safe to use the returned object if @interface_ or
the returned object is being used from other threads. See
g_dbus_interface_dup_object() for a thread-safe alternative.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusObject or %NULL. The returned
reference belongs to @interface_ and should not be freed.</doc>
<type name="DBusObject" c:type="GDBusObject*"/>
<doc xml:space="preserve">Sets the #GDBusObject for @interface_ to @object.
Note that @interface_ will hold a weak reference to @object.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<callback name="DBusInterfaceGetPropertyFunc" c:type="GDBusInterfaceGetPropertyFunc" version="2.26">
<doc xml:space="preserve">The type of the @get_property function in #GDBusInterfaceVTable.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GVariant with the value for @property_name or %NULL if
@error is set. If the returned #GVariant is floating, it is
</callback>
<record name="DBusInterfaceIface" c:type="GDBusInterfaceIface" glib:is-gtype-struct-for="DBusInterface" version="2.30">
<doc xml:space="preserve">Base type for D-Bus interfaces.</doc>
-
<field name="parent_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_info">
<callback name="get_info">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
</field>
<field name="get_object">
<callback name="get_object">
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusObject or %NULL. The returned
reference belongs to @interface_ and should not be freed.</doc>
<type name="DBusObject" c:type="GDBusObject*"/>
</field>
<field name="set_object">
<callback name="set_object">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="dup_object">
<callback name="dup_object">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A #GDBusObject or %NULL. The returned
reference should be freed with g_object_unref().</doc>
<type name="DBusObject" c:type="GDBusObject*"/>
</record>
<record name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo" version="2.26" glib:type-name="GDBusInterfaceInfo" glib:get-type="g_dbus_interface_info_get_type" c:symbol-prefix="dbus_interface_info">
<doc xml:space="preserve">Information about a D-Bus interface.</doc>
-
<field name="ref_count" writable="1">
<doc xml:space="preserve">The reference count or -1 if statically allocated.</doc>
<type name="gint" c:type="volatile gint"/>
Note that @info cannot be modified until
g_dbus_interface_info_cache_release() is called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Decrements the usage count for the cache for @info built by
g_dbus_interface_info_cache_build() (if any) and frees the
resources used by the cache if the usage count drops to zero.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
documents at run-time for handling the
`org.freedesktop.DBus.Introspectable.Introspect`
method.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The cost of this function is O(n) in number of methods unless
g_dbus_interface_info_cache_build() has been used on @info.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusMethodInfo or %NULL if not found. Do not free, it is owned by @info.</doc>
<type name="DBusMethodInfo" c:type="GDBusMethodInfo*"/>
</return-value>
The cost of this function is O(n) in number of properties unless
g_dbus_interface_info_cache_build() has been used on @info.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusPropertyInfo or %NULL if not found. Do not free, it is owned by @info.</doc>
<type name="DBusPropertyInfo" c:type="GDBusPropertyInfo*"/>
</return-value>
The cost of this function is O(n) in number of signals unless
g_dbus_interface_info_cache_build() has been used on @info.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusSignalInfo or %NULL if not found. Do not free, it is owned by @info.</doc>
<type name="DBusSignalInfo" c:type="GDBusSignalInfo*"/>
</return-value>
<method name="ref" c:identifier="g_dbus_interface_info_ref" version="2.26">
<doc xml:space="preserve">If @info is statically allocated does nothing. Otherwise increases
the reference count.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The same @info.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
<doc xml:space="preserve">If @info is statically allocated, does nothing. Otherwise decreases
the reference count of @info. When its reference count drops to 0,
the memory used is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<callback name="DBusInterfaceMethodCallFunc" c:type="GDBusInterfaceMethodCallFunc" version="2.26">
<doc xml:space="preserve">The type of the @method_call function in #GDBusInterfaceVTable.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
<callback name="DBusInterfaceSetPropertyFunc" c:type="GDBusInterfaceSetPropertyFunc" version="2.26">
<doc xml:space="preserve">The type of the @set_property function in #GDBusInterfaceVTable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the property was set to @value, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</callback>
<class name="DBusInterfaceSkeleton" c:symbol-prefix="dbus_interface_skeleton" c:type="GDBusInterfaceSkeleton" version="2.30" parent="GObject.Object" abstract="1" glib:type-name="GDBusInterfaceSkeleton" glib:get-type="g_dbus_interface_skeleton_get_type" glib:type-struct="DBusInterfaceSkeletonClass">
<doc xml:space="preserve">Abstract base class for D-Bus interfaces on the service side.</doc>
-
<implements name="DBusInterface"/>
<virtual-method name="flush" invoker="flush" version="2.30">
<doc xml:space="preserve">If @interface_ has outstanding changes, request for these changes to be
`org.freedesktop.DBus.Properties.PropertiesChanged`
signal later (e.g. in an idle handler). This technique is useful
for collapsing multiple property changes into one.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="g_authorize_method">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<virtual-method name="get_info" invoker="get_info" version="2.30">
<doc xml:space="preserve">Gets D-Bus introspection information for the D-Bus interface
implemented by @interface_.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusInterfaceInfo (never %NULL). Do not free.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
</virtual-method>
<virtual-method name="get_properties" invoker="get_properties" version="2.30">
<doc xml:space="preserve">Gets all D-Bus properties for @interface_.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GVariant of type
['a{sv}'][G-VARIANT-TYPE-VARDICT:CAPS].
<doc xml:space="preserve">Gets the interface vtable for the D-Bus interface implemented by
@interface_. The returned function pointers should expect @interface_
itself to be passed as @user_data.</doc>
-
<return-value>
<doc xml:space="preserve">A #GDBusInterfaceVTable (never %NULL).</doc>
<type name="DBusInterfaceVTable" c:type="GDBusInterfaceVTable*"/>
the same for all connections.
Use g_dbus_interface_skeleton_unexport() to unexport the object.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the interface was exported on @connection, otherwise %FALSE with
@error set.</doc>
`org.freedesktop.DBus.Properties.PropertiesChanged`
signal later (e.g. in an idle handler). This technique is useful
for collapsing multiple property changes into one.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_connection" c:identifier="g_dbus_interface_skeleton_get_connection" version="2.30">
<doc xml:space="preserve">Gets the first connection that @interface_ is exported on, if any.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusConnection or %NULL if @interface_ is
not exported anywhere. Do not free, the object belongs to @interface_.</doc>
<type name="DBusConnection" c:type="GDBusConnection*"/>
</method>
<method name="get_connections" c:identifier="g_dbus_interface_skeleton_get_connections" version="2.32">
<doc xml:space="preserve">Gets a list of the connections that @interface_ is exported on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A list of
all the connections that @interface_ is exported on. The returned
<method name="get_flags" c:identifier="g_dbus_interface_skeleton_get_flags" version="2.30">
<doc xml:space="preserve">Gets the #GDBusInterfaceSkeletonFlags that describes what the behavior
of @interface_</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">One or more flags from the #GDBusInterfaceSkeletonFlags enumeration.</doc>
<type name="DBusInterfaceSkeletonFlags" c:type="GDBusInterfaceSkeletonFlags"/>
<method name="get_info" c:identifier="g_dbus_interface_skeleton_get_info" version="2.30">
<doc xml:space="preserve">Gets D-Bus introspection information for the D-Bus interface
implemented by @interface_.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusInterfaceInfo (never %NULL). Do not free.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
</method>
<method name="get_object_path" c:identifier="g_dbus_interface_skeleton_get_object_path" version="2.30">
<doc xml:space="preserve">Gets the object path that @interface_ is exported on, if any.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A string owned by @interface_ or %NULL if @interface_ is not exported
anywhere. Do not free, the string belongs to @interface_.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_properties" c:identifier="g_dbus_interface_skeleton_get_properties" version="2.30">
<doc xml:space="preserve">Gets all D-Bus properties for @interface_.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GVariant of type
['a{sv}'][G-VARIANT-TYPE-VARDICT:CAPS].
<doc xml:space="preserve">Gets the interface vtable for the D-Bus interface implemented by
@interface_. The returned function pointers should expect @interface_
itself to be passed as @user_data.</doc>
-
<return-value>
<doc xml:space="preserve">A #GDBusInterfaceVTable (never %NULL).</doc>
<type name="DBusInterfaceVTable" c:type="GDBusInterfaceVTable*"/>
</method>
<method name="has_connection" c:identifier="g_dbus_interface_skeleton_has_connection" version="2.32">
<doc xml:space="preserve">Checks if @interface_ is exported on @connection.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @interface_ is exported on @connection, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="set_flags" c:identifier="g_dbus_interface_skeleton_set_flags" version="2.30">
<doc xml:space="preserve">Sets flags describing what the behavior of @skeleton should be.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
To unexport @interface_ from only a single connection, use
g_dbus_interface_skeleton_unexport_from_connection()</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
To stop exporting on all connections the interface is exported on,
use g_dbus_interface_skeleton_unexport().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="DBusInterfaceSkeletonClass" c:type="GDBusInterfaceSkeletonClass" glib:is-gtype-struct-for="DBusInterfaceSkeleton" version="2.30">
<doc xml:space="preserve">Class structure for #GDBusInterfaceSkeleton.</doc>
-
<field name="parent_class">
<doc xml:space="preserve">The parent class.</doc>
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_info">
<callback name="get_info">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusInterfaceInfo (never %NULL). Do not free.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
</field>
<field name="get_vtable" introspectable="0">
<callback name="get_vtable" introspectable="0">
-
<return-value>
<doc xml:space="preserve">A #GDBusInterfaceVTable (never %NULL).</doc>
<type name="DBusInterfaceVTable" c:type="GDBusInterfaceVTable*"/>
</field>
<field name="get_properties">
<callback name="get_properties">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GVariant of type
['a{sv}'][G-VARIANT-TYPE-VARDICT:CAPS].
</field>
<field name="flush">
<callback name="flush">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="g_authorize_method">
<callback name="g_authorize_method">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
use locking to access data structures used by other threads.</doc>
</member>
</bitfield>
- <record name="DBusInterfaceSkeletonPrivate" c:type="GDBusInterfaceSkeletonPrivate" disguised="1">
-
- </record>
+ <record name="DBusInterfaceSkeletonPrivate" c:type="GDBusInterfaceSkeletonPrivate" disguised="1"/>
<record name="DBusInterfaceVTable" c:type="GDBusInterfaceVTable" version="2.26">
<doc xml:space="preserve">Virtual table for handling properties and method calls for a D-Bus
interface.
you must ensure that you either provide a non-%NULL @set_property()
function or provide an implementation of the `Set` call. If implementing
the call, you must return the value of type %G_VARIANT_TYPE_UNIT.</doc>
-
<field name="method_call" writable="1">
<doc xml:space="preserve">Function for handling incoming method calls.</doc>
<type name="DBusInterfaceMethodCallFunc" c:type="GDBusInterfaceMethodCallFunc"/>
with respect to this context. All calls on the returned menu model
(and linked models) must also originate from this same context, with
the thread default main context unchanged.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GDBusMenuModel object. Free with
g_object_unref().</doc>
on a #GDBusConnection.</doc>
<constructor name="new" c:identifier="g_dbus_message_new" version="2.26">
<doc xml:space="preserve">Creates a new empty #GDBusMessage.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusMessage. Free with g_object_unref().</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
If the @blob cannot be parsed, contains invalid fields, or contains invalid
headers, %G_IO_ERROR_INVALID_ARGUMENT will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A new #GDBusMessage or %NULL if @error is set. Free with
g_object_unref().</doc>
</constructor>
<constructor name="new_method_call" c:identifier="g_dbus_message_new_method_call" version="2.26">
<doc xml:space="preserve">Creates a new #GDBusMessage for a method call.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusMessage. Free with g_object_unref().</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</constructor>
<constructor name="new_signal" c:identifier="g_dbus_message_new_signal" version="2.26">
<doc xml:space="preserve">Creates a new #GDBusMessage for a signal emission.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusMessage. Free with g_object_unref().</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
<function name="bytes_needed" c:identifier="g_dbus_message_bytes_needed" version="2.26" throws="1">
<doc xml:space="preserve">Utility function to calculate how many bytes are needed to
completely deserialize the D-Bus message stored at @blob.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes needed or -1 if @error is set (e.g. if
@blob contains invalid data or not enough data is available to
This operation can fail if e.g. @message contains file descriptors
and the per-process or system-wide open files limit is reached.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A new #GDBusMessage or %NULL if @error is set.
Free with g_object_unref().</doc>
</method>
<method name="get_arg0" c:identifier="g_dbus_message_get_arg0" version="2.26">
<doc xml:space="preserve">Convenience to get the first item in the body of @message.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The string item or %NULL if the first item in the body of
@message is not a string.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_body" c:identifier="g_dbus_message_get_body" version="2.26">
<doc xml:space="preserve">Gets the body of a message.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GVariant or %NULL if the body is
empty. Do not free, it is owned by @message.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</method>
<method name="get_byte_order" c:identifier="g_dbus_message_get_byte_order">
<doc xml:space="preserve">Gets the byte order of @message.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The byte order.</doc>
<type name="DBusMessageByteOrder" c:type="GDBusMessageByteOrder"/>
</method>
<method name="get_destination" c:identifier="g_dbus_message_get_destination" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_error_name" c:identifier="g_dbus_message_get_error_name" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_flags" c:identifier="g_dbus_message_get_flags" version="2.26">
<doc xml:space="preserve">Gets the flags for @message.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Flags that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together).</doc>
<type name="DBusMessageFlags" c:type="GDBusMessageFlags"/>
The caller is responsible for checking the type of the returned #GVariant
matches what is expected.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GVariant with the value if the header was found, %NULL
otherwise. Do not free, it is owned by @message.</doc>
</method>
<method name="get_header_fields" c:identifier="g_dbus_message_get_header_fields" version="2.26">
<doc xml:space="preserve">Gets an array of all header fields on @message that are set.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An array of header fields
terminated by %G_DBUS_MESSAGE_HEADER_FIELD_INVALID. Each element
</method>
<method name="get_interface" c:identifier="g_dbus_message_get_interface" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<doc xml:space="preserve">Checks whether @message is locked. To monitor changes to this
value, conncet to the #GObject::notify signal to listen for changes
on the #GDBusMessage:locked property.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @message is locked, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_member" c:identifier="g_dbus_message_get_member" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_message_type" c:identifier="g_dbus_message_get_message_type" version="2.26">
<doc xml:space="preserve">Gets the type of @message.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration).</doc>
<type name="DBusMessageType" c:type="GDBusMessageType"/>
</method>
<method name="get_num_unix_fds" c:identifier="g_dbus_message_get_num_unix_fds" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The value.</doc>
<type name="guint32" c:type="guint32"/>
</method>
<method name="get_path" c:identifier="g_dbus_message_get_path" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_reply_serial" c:identifier="g_dbus_message_get_reply_serial" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The value.</doc>
<type name="guint32" c:type="guint32"/>
</method>
<method name="get_sender" c:identifier="g_dbus_message_get_sender" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_serial" c:identifier="g_dbus_message_get_serial" version="2.26">
<doc xml:space="preserve">Gets the serial for @message.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #guint32.</doc>
<type name="guint32" c:type="guint32"/>
</method>
<method name="get_signature" c:identifier="g_dbus_message_get_signature" version="2.26">
<doc xml:space="preserve">Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The value.</doc>
<type name="utf8" c:type="const gchar*"/>
<method name="get_unix_fd_list" c:identifier="g_dbus_message_get_unix_fd_list" version="2.26">
<doc xml:space="preserve">Gets the UNIX file descriptors associated with @message, if any.
-This method is only available on UNIX.</doc>
-
- <return-value transfer-ownership="none">
+This method is only available on UNIX.
+
+The file descriptors normally correspond to %G_VARIANT_TYPE_HANDLE
+values in the body of the message. For example,
+if g_variant_get_handle() returns 5, that is intended to be a reference
+to the file descriptor that can be accessed by
+`g_unix_fd_list_get (list, 5, ...)`.</doc>
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GUnixFDList or %NULL if no file descriptors are
associated. Do not free, this object is owned by @message.</doc>
<type name="UnixFDList" c:type="GUnixFDList*"/>
</method>
<method name="lock" c:identifier="g_dbus_message_lock" version="2.26">
<doc xml:space="preserve">If @message is locked, does nothing. Otherwise locks the message.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="new_method_error" c:identifier="g_dbus_message_new_method_error" version="2.26" introspectable="0">
<doc xml:space="preserve">Creates a new #GDBusMessage that is an error reply to @method_call_message.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusMessage. Free with g_object_unref().</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</method>
<method name="new_method_error_literal" c:identifier="g_dbus_message_new_method_error_literal" version="2.26">
<doc xml:space="preserve">Creates a new #GDBusMessage that is an error reply to @method_call_message.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusMessage. Free with g_object_unref().</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</method>
<method name="new_method_error_valist" c:identifier="g_dbus_message_new_method_error_valist" version="2.26" introspectable="0">
<doc xml:space="preserve">Like g_dbus_message_new_method_error() but intended for language bindings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusMessage. Free with g_object_unref().</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</method>
<method name="new_method_reply" c:identifier="g_dbus_message_new_method_reply" version="2.26">
<doc xml:space="preserve">Creates a new #GDBusMessage that is a reply to @method_call_message.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GDBusMessage. Free with g_object_unref().</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
UNIX File Descriptors:
fd 12: dev=0:10,mode=020620,ino=5,uid=500,gid=5,rdev=136:2,size=0,atime=1273085037,mtime=1273085851,ctime=1272982635
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A string that should be freed with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
type string of @body (or cleared if @body is %NULL).
If @body is floating, @message assumes ownership of @body.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_byte_order" c:identifier="g_dbus_message_set_byte_order">
<doc xml:space="preserve">Sets the byte order of @message.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_destination" c:identifier="g_dbus_message_set_destination" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">A #GDBusMessage.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</instance-parameter>
- <parameter name="value" transfer-ownership="none">
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The value to set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</method>
<method name="set_error_name" c:identifier="g_dbus_message_set_error_name" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <instance-parameter name="message" transfer-ownership="none">
+ <instance-parameter name="message" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">A #GDBusMessage.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</instance-parameter>
</method>
<method name="set_flags" c:identifier="g_dbus_message_set_flags" version="2.26">
<doc xml:space="preserve">Sets the flags to set on @message.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets a header field on @message.
If @value is floating, @message assumes ownership of @value.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_interface" c:identifier="g_dbus_message_set_interface" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">A #GDBusMessage.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</instance-parameter>
- <parameter name="value" transfer-ownership="none">
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The value to set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</method>
<method name="set_member" c:identifier="g_dbus_message_set_member" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">A #GDBusMessage.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</instance-parameter>
- <parameter name="value" transfer-ownership="none">
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The value to set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</method>
<method name="set_message_type" c:identifier="g_dbus_message_set_message_type" version="2.26">
<doc xml:space="preserve">Sets @message to be of @type.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_num_unix_fds" c:identifier="g_dbus_message_set_num_unix_fds" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_path" c:identifier="g_dbus_message_set_path" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">A #GDBusMessage.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</instance-parameter>
- <parameter name="value" transfer-ownership="none">
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The value to set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</method>
<method name="set_reply_serial" c:identifier="g_dbus_message_set_reply_serial" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_sender" c:identifier="g_dbus_message_set_sender" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">A #GDBusMessage.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</instance-parameter>
- <parameter name="value" transfer-ownership="none">
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The value to set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</method>
<method name="set_serial" c:identifier="g_dbus_message_set_serial" version="2.26">
<doc xml:space="preserve">Sets the serial for @message.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_signature" c:identifier="g_dbus_message_set_signature" version="2.26">
<doc xml:space="preserve">Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">A #GDBusMessage.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
</instance-parameter>
- <parameter name="value" transfer-ownership="none">
+ <parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The value to set.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
field is set to the number of fds in @fd_list (or cleared if
@fd_list is %NULL).
-This method is only available on UNIX.</doc>
-
+This method is only available on UNIX.
+
+When designing D-Bus APIs that are intended to be interoperable,
+please note that non-GDBus implementations of D-Bus can usually only
+access file descriptors if they are referenced by a value of type
+%G_VARIANT_TYPE_HANDLE in the body of the message.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="to_blob" c:identifier="g_dbus_message_to_blob" version="2.26" throws="1">
<doc xml:space="preserve">Serializes @message to a blob. The byte order returned by
g_dbus_message_get_byte_order() will be used.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A pointer to a
valid binary D-Bus message of @out_size bytes generated by @message
using g_dbus_error_set_dbus_error() using the information in the
%G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field of @message as
well as the first string item in @message's body.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @error was set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
logged to standard error. Applications can
check this ahead of time using g_dbus_message_to_blob() passing a
#GDBusCapabilityFlags value obtained from @connection.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A #GDBusMessage that will be freed with
g_object_unref() or %NULL to drop the message. Passive filter
</enumeration>
<record name="DBusMethodInfo" c:type="GDBusMethodInfo" version="2.26" glib:type-name="GDBusMethodInfo" glib:get-type="g_dbus_method_info_get_type" c:symbol-prefix="dbus_method_info">
<doc xml:space="preserve">Information about a method on an D-Bus interface.</doc>
-
<field name="ref_count" writable="1">
<doc xml:space="preserve">The reference count or -1 if statically allocated.</doc>
<type name="gint" c:type="volatile gint"/>
<method name="ref" c:identifier="g_dbus_method_info_ref" version="2.26">
<doc xml:space="preserve">If @info is statically allocated does nothing. Otherwise increases
the reference count.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The same @info.</doc>
<type name="DBusMethodInfo" c:type="GDBusMethodInfo*"/>
<doc xml:space="preserve">If @info is statically allocated, does nothing. Otherwise decreases
the reference count of @info. When its reference count drops to 0,
the memory used is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
#GDBusInterfaceVTable that was passed to g_dbus_connection_register_object().</doc>
<method name="get_connection" c:identifier="g_dbus_method_invocation_get_connection" version="2.26">
<doc xml:space="preserve">Gets the #GDBusConnection the method was invoked on.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusConnection. Do not free, it is owned by @invocation.</doc>
<type name="DBusConnection" c:type="GDBusConnection*"/>
been redirected to the method call handler then
"org.freedesktop.DBus.Properties" will be returned. See
#GDBusInterfaceVTable for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string. Do not free, it is owned by @invocation.</doc>
<type name="utf8" c:type="const gchar*"/>
See this [server][gdbus-server] and [client][gdbus-unix-fd-client]
for an example of how to use this low-level API to send and receive
UNIX file descriptors.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GDBusMessage. Do not free, it is owned by @invocation.</doc>
<type name="DBusMessage" c:type="GDBusMessage*"/>
has been redirected to the method call handler then %NULL will be
returned. See g_dbus_method_invocation_get_property_info() and
#GDBusInterfaceVTable for more information.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusMethodInfo or %NULL. Do not free, it is owned by @invocation.</doc>
<type name="DBusMethodInfo" c:type="const GDBusMethodInfo*"/>
</return-value>
</method>
<method name="get_method_name" c:identifier="g_dbus_method_invocation_get_method_name" version="2.26">
<doc xml:space="preserve">Gets the name of the method that was invoked.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string. Do not free, it is owned by @invocation.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_object_path" c:identifier="g_dbus_method_invocation_get_object_path" version="2.26">
<doc xml:space="preserve">Gets the object path the method was invoked on.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string. Do not free, it is owned by @invocation.</doc>
<type name="utf8" c:type="const gchar*"/>
<method name="get_parameters" c:identifier="g_dbus_method_invocation_get_parameters" version="2.26">
<doc xml:space="preserve">Gets the parameters of the method invocation. If there are no input
parameters then this will return a GVariant with 0 children rather than NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GVariant tuple. Do not unref this because it is owned by @invocation.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
See #GDBusInterfaceVTable for more information.
If the call was GetAll, %NULL will be returned.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GDBusPropertyInfo or %NULL</doc>
<type name="DBusPropertyInfo" c:type="const GDBusPropertyInfo*"/>
</return-value>
</method>
<method name="get_sender" c:identifier="g_dbus_method_invocation_get_sender" version="2.26">
<doc xml:space="preserve">Gets the bus name that invoked the method.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string. Do not free, it is owned by @invocation.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_user_data" c:identifier="g_dbus_method_invocation_get_user_data" version="2.26" introspectable="0">
<doc xml:space="preserve">Gets the @user_data #gpointer passed to g_dbus_connection_register_object().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #gpointer.</doc>
<type name="gpointer" c:type="gpointer"/>
This method will take ownership of @invocation. See
#GDBusInterfaceVTable for more information about the ownership of
@invocation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Since 2.48, if the method call requested for a reply not to be sent
then this call will free @invocation but otherwise do nothing (as per
the recommendations of the D-Bus specification).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This method will take ownership of @invocation. See
#GDBusInterfaceVTable for more information about the ownership of
@invocation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This method will take ownership of @invocation. See
#GDBusInterfaceVTable for more information about the ownership of
@invocation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This method will take ownership of @invocation. See
#GDBusInterfaceVTable for more information about the ownership of
@invocation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
then this call will sink @parameters and free @invocation, but
otherwise do nothing (as per the recommendations of the D-Bus
specification).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This method will take ownership of @invocation. See
#GDBusInterfaceVTable for more information about the ownership of
@invocation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This method will take ownership of @invocation. See
#GDBusInterfaceVTable for more information about the ownership of
@invocation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="DBusNodeInfo" c:type="GDBusNodeInfo" version="2.26" glib:type-name="GDBusNodeInfo" glib:get-type="g_dbus_node_info_get_type" c:symbol-prefix="dbus_node_info">
<doc xml:space="preserve">Information about nodes in a remote object hierarchy.</doc>
-
<field name="ref_count" writable="1">
<doc xml:space="preserve">The reference count or -1 if statically allocated.</doc>
<type name="gint" c:type="volatile gint"/>
Note that this routine is using a
[GMarkup][glib-Simple-XML-Subset-Parser.description]-based
parser that only accepts a subset of valid XML documents.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusNodeInfo structure or %NULL if @error is set. Free
with g_dbus_node_info_unref().</doc>
This function is typically used for generating introspection XML documents at run-time for
handling the `org.freedesktop.DBus.Introspectable.Introspect` method.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Looks up information about an interface.
The cost of this function is O(n) in number of interfaces.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusInterfaceInfo or %NULL if not found. Do not free, it is owned by @info.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
</return-value>
<method name="ref" c:identifier="g_dbus_node_info_ref" version="2.26">
<doc xml:space="preserve">If @info is statically allocated does nothing. Otherwise increases
the reference count.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The same @info.</doc>
<type name="DBusNodeInfo" c:type="GDBusNodeInfo*"/>
<doc xml:space="preserve">If @info is statically allocated, does nothing. Otherwise decreases
the reference count of @info. When its reference count drops to 0,
the memory used is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the service side (see #GDBusObjectSkeleton) and the client side
(see #GDBusObjectProxy). It is essentially just a container of
interfaces.</doc>
-
<virtual-method name="get_interface" invoker="get_interface" version="2.30">
<doc xml:space="preserve">Gets the D-Bus interface with name @interface_name associated with
@object, if any.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">%NULL if not found, otherwise a
#GDBusInterface that must be freed with g_object_unref().</doc>
<type name="DBusInterface" c:type="GDBusInterface*"/>
</virtual-method>
<virtual-method name="get_interfaces" invoker="get_interfaces" version="2.30">
<doc xml:space="preserve">Gets the D-Bus interfaces associated with @object.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A list of #GDBusInterface instances.
The returned list must be freed by g_list_free() after each element has been freed
</virtual-method>
<virtual-method name="get_object_path" invoker="get_object_path" version="2.30">
<doc xml:space="preserve">Gets the object path for @object.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @object. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameters>
</virtual-method>
<virtual-method name="interface_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="interface_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="get_interface" c:identifier="g_dbus_object_get_interface" version="2.30">
<doc xml:space="preserve">Gets the D-Bus interface with name @interface_name associated with
@object, if any.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">%NULL if not found, otherwise a
#GDBusInterface that must be freed with g_object_unref().</doc>
<type name="DBusInterface" c:type="GDBusInterface*"/>
</method>
<method name="get_interfaces" c:identifier="g_dbus_object_get_interfaces" version="2.30">
<doc xml:space="preserve">Gets the D-Bus interfaces associated with @object.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A list of #GDBusInterface instances.
The returned list must be freed by g_list_free() after each element has been freed
</method>
<method name="get_object_path" c:identifier="g_dbus_object_get_object_path" version="2.30">
<doc xml:space="preserve">Gets the object path for @object.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @object. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
</interface>
<record name="DBusObjectIface" c:type="GDBusObjectIface" glib:is-gtype-struct-for="DBusObject" version="2.30">
<doc xml:space="preserve">Base object type for D-Bus objects.</doc>
-
<field name="parent_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_object_path">
<callback name="get_object_path">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @object. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="get_interfaces">
<callback name="get_interfaces">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A list of #GDBusInterface instances.
The returned list must be freed by g_list_free() after each element has been freed
</field>
<field name="get_interface">
<callback name="get_interface">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">%NULL if not found, otherwise a
#GDBusInterface that must be freed with g_object_unref().</doc>
<type name="DBusInterface" c:type="GDBusInterface*"/>
</field>
<field name="interface_added">
<callback name="interface_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="interface_removed">
<callback name="interface_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See #GDBusObjectManagerClient for the client-side implementation
and #GDBusObjectManagerServer for the service-side implementation.</doc>
-
<virtual-method name="get_interface" invoker="get_interface" version="2.30">
<doc xml:space="preserve">Gets the interface proxy for @interface_name at @object_path, if
any.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusInterface instance or %NULL. Free
with g_object_unref().</doc>
</virtual-method>
<virtual-method name="get_object" invoker="get_object" version="2.30">
<doc xml:space="preserve">Gets the #GDBusObjectProxy at @object_path, if any.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusObject or %NULL. Free with
g_object_unref().</doc>
</virtual-method>
<virtual-method name="get_object_path" invoker="get_object_path" version="2.30">
<doc xml:space="preserve">Gets the object path that @manager is for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @manager. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
</virtual-method>
<virtual-method name="get_objects" invoker="get_objects" version="2.30">
<doc xml:space="preserve">Gets all #GDBusObject objects known to @manager.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A list of
#GDBusObject objects. The returned list should be freed with
</parameters>
</virtual-method>
<virtual-method name="interface_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="interface_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="object_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="object_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="get_interface" c:identifier="g_dbus_object_manager_get_interface" version="2.30">
<doc xml:space="preserve">Gets the interface proxy for @interface_name at @object_path, if
any.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusInterface instance or %NULL. Free
with g_object_unref().</doc>
</method>
<method name="get_object" c:identifier="g_dbus_object_manager_get_object" version="2.30">
<doc xml:space="preserve">Gets the #GDBusObjectProxy at @object_path, if any.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusObject or %NULL. Free with
g_object_unref().</doc>
</method>
<method name="get_object_path" c:identifier="g_dbus_object_manager_get_object_path" version="2.30">
<doc xml:space="preserve">Gets the object path that @manager is for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @manager. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_objects" c:identifier="g_dbus_object_manager_get_objects" version="2.30">
<doc xml:space="preserve">Gets all #GDBusObject objects known to @manager.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A list of
#GDBusObject objects. The returned list should be freed with
originating from the #GDBusObjectManagerClient object will be created in
the same context and, consequently, will deliver signals in the
same main loop.</doc>
-
<implements name="AsyncInitable"/>
<implements name="DBusObjectManager"/>
<implements name="Initable"/>
<constructor name="new_finish" c:identifier="g_dbus_object_manager_client_new_finish" version="2.30" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_object_manager_client_new().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
#GDBusObjectManagerClient object or %NULL if @error is set. Free
</constructor>
<constructor name="new_for_bus_finish" c:identifier="g_dbus_object_manager_client_new_for_bus_finish" version="2.30" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_object_manager_client_new_for_bus().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
#GDBusObjectManagerClient object or %NULL if @error is set. Free
This is a synchronous failable constructor - the calling thread is
blocked until a reply is received. See g_dbus_object_manager_client_new_for_bus()
for the asynchronous version.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
#GDBusObjectManagerClient object or %NULL if @error is set. Free
This is a synchronous failable constructor - the calling thread is
blocked until a reply is received. See g_dbus_object_manager_client_new()
for the asynchronous version.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
#GDBusObjectManagerClient object or %NULL if @error is set. Free
of the thread you are calling this method from. You can
then call g_dbus_object_manager_client_new_finish() to get the result. See
g_dbus_object_manager_client_new_sync() for the synchronous version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
of the thread you are calling this method from. You can
then call g_dbus_object_manager_client_new_for_bus_finish() to get the result. See
g_dbus_object_manager_client_new_for_bus_sync() for the synchronous version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<virtual-method name="interface_proxy_properties_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="interface_proxy_signal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="get_connection" c:identifier="g_dbus_object_manager_client_get_connection" version="2.30">
<doc xml:space="preserve">Gets the #GDBusConnection used by @manager.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusConnection object. Do not free,
the object belongs to @manager.</doc>
</method>
<method name="get_flags" c:identifier="g_dbus_object_manager_client_get_flags" version="2.30">
<doc xml:space="preserve">Gets the flags that @manager was constructed with.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Zero of more flags from the #GDBusObjectManagerClientFlags
enumeration.</doc>
<method name="get_name" c:identifier="g_dbus_object_manager_client_get_name" version="2.30">
<doc xml:space="preserve">Gets the name that @manager is for, or %NULL if not a message bus
connection.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A unique or well-known name. Do not free, the string
belongs to @manager.</doc>
no-one currently owns that name. You can connect to the
#GObject::notify signal to track changes to the
#GDBusObjectManagerClient:name-owner property.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The name owner or %NULL if no name owner
exists. Free with g_free().</doc>
</class>
<record name="DBusObjectManagerClientClass" c:type="GDBusObjectManagerClientClass" glib:is-gtype-struct-for="DBusObjectManagerClient" version="2.30">
<doc xml:space="preserve">Class structure for #GDBusObjectManagerClient.</doc>
-
<field name="parent_class">
<doc xml:space="preserve">The parent class.</doc>
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="interface_proxy_signal">
<callback name="interface_proxy_signal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="interface_proxy_properties_changed">
<callback name="interface_proxy_properties_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
be used in managers for well-known names.</doc>
</member>
</bitfield>
- <record name="DBusObjectManagerClientPrivate" c:type="GDBusObjectManagerClientPrivate" disguised="1">
-
- </record>
+ <record name="DBusObjectManagerClientPrivate" c:type="GDBusObjectManagerClientPrivate" disguised="1"/>
<record name="DBusObjectManagerIface" c:type="GDBusObjectManagerIface" glib:is-gtype-struct-for="DBusObjectManager" version="2.30">
<doc xml:space="preserve">Base type for D-Bus object managers.</doc>
-
<field name="parent_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_object_path">
<callback name="get_object_path">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @manager. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="get_objects">
<callback name="get_objects">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A list of
#GDBusObject objects. The returned list should be freed with
</field>
<field name="get_object">
<callback name="get_object">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusObject or %NULL. Free with
g_object_unref().</doc>
</field>
<field name="get_interface">
<callback name="get_interface">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusInterface instance or %NULL. Free
with g_object_unref().</doc>
</field>
<field name="object_added">
<callback name="object_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="object_removed">
<callback name="object_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="interface_added">
<callback name="interface_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="interface_removed">
<callback name="interface_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
intended to be used with #GDBusObjectManagerServer or any D-Bus
object implementing the org.freedesktop.DBus.ObjectManager
interface.</doc>
-
<implements name="DBusObjectManager"/>
<constructor name="new" c:identifier="g_dbus_object_manager_server_new" version="2.30">
<doc xml:space="preserve">Creates a new #GDBusObjectManagerServer object.
want to export all of your objects before doing so to avoid
[InterfacesAdded](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager)
signals being emitted.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusObjectManagerServer object. Free with g_object_unref().</doc>
<type name="DBusObjectManagerServer" c:type="GDBusObjectManagerServer*"/>
Note that @manager will take a reference on @object for as long as
it is exported.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the form _N (with N being a natural number) to @object's object path
if an object with the given path already exists. As such, the
#GDBusObjectProxy:g-object-path property of @object may be modified.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_connection" c:identifier="g_dbus_object_manager_server_get_connection" version="2.30">
<doc xml:space="preserve">Gets the #GDBusConnection used by @manager.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusConnection object or %NULL if
@manager isn't exported on a connection. The returned object should
</method>
<method name="is_exported" c:identifier="g_dbus_object_manager_server_is_exported" version="2.34">
<doc xml:space="preserve">Returns whether @object is currently exported on @manager.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @object is exported</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="set_connection" c:identifier="g_dbus_object_manager_server_set_connection">
<doc xml:space="preserve">Exports all objects managed by @manager on @connection. If
@connection is %NULL, stops exporting objects.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that @object_path must be in the hierarchy rooted by the
object path for @manager.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if object at @object_path was removed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</class>
<record name="DBusObjectManagerServerClass" c:type="GDBusObjectManagerServerClass" glib:is-gtype-struct-for="DBusObjectManagerServer" version="2.30">
<doc xml:space="preserve">Class structure for #GDBusObjectManagerServer.</doc>
-
<field name="parent_class">
<doc xml:space="preserve">The parent class.</doc>
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</array>
</field>
</record>
- <record name="DBusObjectManagerServerPrivate" c:type="GDBusObjectManagerServerPrivate" disguised="1">
-
- </record>
+ <record name="DBusObjectManagerServerPrivate" c:type="GDBusObjectManagerServerPrivate" disguised="1"/>
<class name="DBusObjectProxy" c:symbol-prefix="dbus_object_proxy" c:type="GDBusObjectProxy" version="2.30" parent="GObject.Object" glib:type-name="GDBusObjectProxy" glib:get-type="g_dbus_object_proxy_get_type" glib:type-struct="DBusObjectProxyClass">
<doc xml:space="preserve">A #GDBusObjectProxy is an object used to represent a remote object
with one or more D-Bus interfaces. Normally, you don't instantiate
a #GDBusObjectProxy yourself - typically #GDBusObjectManagerClient
is used to obtain it.</doc>
-
<implements name="DBusObject"/>
<constructor name="new" c:identifier="g_dbus_object_proxy_new" version="2.30">
<doc xml:space="preserve">Creates a new #GDBusObjectProxy for the given connection and
object path.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GDBusObjectProxy</doc>
<type name="DBusObjectProxy" c:type="GDBusObjectProxy*"/>
</constructor>
<method name="get_connection" c:identifier="g_dbus_object_proxy_get_connection" version="2.30">
<doc xml:space="preserve">Gets the connection that @proxy is for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusConnection. Do not free, the
object is owned by @proxy.</doc>
</class>
<record name="DBusObjectProxyClass" c:type="GDBusObjectProxyClass" glib:is-gtype-struct-for="DBusObjectProxy" version="2.30">
<doc xml:space="preserve">Class structure for #GDBusObjectProxy.</doc>
-
<field name="parent_class">
<doc xml:space="preserve">The parent class.</doc>
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</array>
</field>
</record>
- <record name="DBusObjectProxyPrivate" c:type="GDBusObjectProxyPrivate" disguised="1">
-
- </record>
+ <record name="DBusObjectProxyPrivate" c:type="GDBusObjectProxyPrivate" disguised="1"/>
<class name="DBusObjectSkeleton" c:symbol-prefix="dbus_object_skeleton" c:type="GDBusObjectSkeleton" version="2.30" parent="GObject.Object" glib:type-name="GDBusObjectSkeleton" glib:get-type="g_dbus_object_skeleton_get_type" glib:type-struct="DBusObjectSkeletonClass">
<doc xml:space="preserve">A #GDBusObjectSkeleton instance is essentially a group of D-Bus
interfaces. The set of exported interfaces on the object may be
dynamic and change at runtime.
This type is intended to be used with #GDBusObjectManager.</doc>
-
<implements name="DBusObject"/>
<constructor name="new" c:identifier="g_dbus_object_skeleton_new" version="2.30">
<doc xml:space="preserve">Creates a new #GDBusObjectSkeleton.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusObjectSkeleton. Free with g_object_unref().</doc>
<type name="DBusObjectSkeleton" c:type="GDBusObjectSkeleton*"/>
</parameters>
</constructor>
<virtual-method name="authorize_method">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
Note that @object takes its own reference on @interface_ and holds
it until removed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">This method simply calls g_dbus_interface_skeleton_flush() on all
interfaces belonging to @object. See that method for when flushing
is useful.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="remove_interface" c:identifier="g_dbus_object_skeleton_remove_interface" version="2.30">
<doc xml:space="preserve">Removes @interface_ from @object.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If no D-Bus interface of the given interface exists, this function
does nothing.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_object_path" c:identifier="g_dbus_object_skeleton_set_object_path" version="2.30">
<doc xml:space="preserve">Sets the object path for @object.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="DBusObjectSkeletonClass" c:type="GDBusObjectSkeletonClass" glib:is-gtype-struct-for="DBusObjectSkeleton" version="2.30">
<doc xml:space="preserve">Class structure for #GDBusObjectSkeleton.</doc>
-
<field name="parent_class">
<doc xml:space="preserve">The parent class.</doc>
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="authorize_method">
<callback name="authorize_method">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</array>
</field>
</record>
- <record name="DBusObjectSkeletonPrivate" c:type="GDBusObjectSkeletonPrivate" disguised="1">
-
- </record>
+ <record name="DBusObjectSkeletonPrivate" c:type="GDBusObjectSkeletonPrivate" disguised="1"/>
<record name="DBusPropertyInfo" c:type="GDBusPropertyInfo" version="2.26" glib:type-name="GDBusPropertyInfo" glib:get-type="g_dbus_property_info_get_type" c:symbol-prefix="dbus_property_info">
<doc xml:space="preserve">Information about a D-Bus property on a D-Bus interface.</doc>
-
<field name="ref_count" writable="1">
<doc xml:space="preserve">The reference count or -1 if statically allocated.</doc>
<type name="gint" c:type="volatile gint"/>
<method name="ref" c:identifier="g_dbus_property_info_ref" version="2.26">
<doc xml:space="preserve">If @info is statically allocated does nothing. Otherwise increases
the reference count.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The same @info.</doc>
<type name="DBusPropertyInfo" c:type="GDBusPropertyInfo*"/>
<doc xml:space="preserve">If @info is statically allocated, does nothing. Otherwise decreases
the reference count of @info. When its reference count drops to 0,
the memory used is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
An example using a proxy for a well-known name can be found in
[gdbus-example-watch-proxy.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-watch-proxy.c)</doc>
-
<implements name="AsyncInitable"/>
<implements name="DBusInterface"/>
<implements name="Initable"/>
<constructor name="new_finish" c:identifier="g_dbus_proxy_new_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes creating a #GDBusProxy.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusProxy or %NULL if @error is set.
Free with g_object_unref().</doc>
</constructor>
<constructor name="new_for_bus_finish" c:identifier="g_dbus_proxy_new_for_bus_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes creating a #GDBusProxy.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusProxy or %NULL if @error is set.
Free with g_object_unref().</doc>
<doc xml:space="preserve">Like g_dbus_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
#GDBusProxy is used in this [example][gdbus-wellknown-proxy].</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusProxy or %NULL if error is set.
Free with g_object_unref().</doc>
and g_dbus_proxy_new_finish() for the asynchronous version.
#GDBusProxy is used in this [example][gdbus-wellknown-proxy].</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusProxy or %NULL if error is set.
Free with g_object_unref().</doc>
See g_dbus_proxy_new_sync() and for a synchronous version of this constructor.
#GDBusProxy is used in this [example][gdbus-wellknown-proxy].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Like g_dbus_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
#GDBusProxy is used in this [example][gdbus-wellknown-proxy].</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<virtual-method name="g_properties_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="g_signal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @callback is %NULL then the D-Bus method call message will be sent with
the %G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED flag set.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="call_finish" c:identifier="g_dbus_proxy_call_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_proxy_call().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
return values. Free with g_variant_unref().</doc>
If @proxy has an expected interface (see
#GDBusProxy:g-interface-info) and @method_name is referenced by it,
then the return value is checked against the return type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
return values. Free with g_variant_unref().</doc>
<doc xml:space="preserve">Like g_dbus_proxy_call() but also takes a #GUnixFDList object.
This method is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="call_with_unix_fd_list_finish" c:identifier="g_dbus_proxy_call_with_unix_fd_list_finish" version="2.30" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_dbus_proxy_call_with_unix_fd_list().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
return values. Free with g_variant_unref().</doc>
<doc xml:space="preserve">Like g_dbus_proxy_call_sync() but also takes and returns #GUnixFDList objects.
This method is only available on UNIX.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">%NULL if @error is set. Otherwise a #GVariant tuple with
return values. Free with g_variant_unref().</doc>
If @proxy has an expected interface (see
#GDBusProxy:g-interface-info) and @property_name is referenced by
it, then @value is checked against the type of the property.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A reference to the #GVariant instance
that holds the value for @property_name or %NULL if the value is not in
</method>
<method name="get_cached_property_names" c:identifier="g_dbus_proxy_get_cached_property_names" version="2.26">
<doc xml:space="preserve">Gets the names of all cached properties on @proxy.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A
%NULL-terminated array of strings or %NULL if
</method>
<method name="get_connection" c:identifier="g_dbus_proxy_get_connection" version="2.26">
<doc xml:space="preserve">Gets the connection @proxy is for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusConnection owned by @proxy. Do not free.</doc>
<type name="DBusConnection" c:type="GDBusConnection*"/>
g_dbus_proxy_call_sync() functions.
See the #GDBusProxy:g-default-timeout property for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Timeout to use for @proxy.</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_flags" c:identifier="g_dbus_proxy_get_flags" version="2.26">
<doc xml:space="preserve">Gets the flags that @proxy was constructed with.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
<type name="DBusProxyFlags" c:type="GDBusProxyFlags"/>
<doc xml:space="preserve">Returns the #GDBusInterfaceInfo, if any, specifying the interface
that @proxy conforms to. See the #GDBusProxy:g-interface-info
property for more details.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #GDBusInterfaceInfo or %NULL.
Do not unref the returned object, it is owned by @proxy.</doc>
</method>
<method name="get_interface_name" c:identifier="g_dbus_proxy_get_interface_name" version="2.26">
<doc xml:space="preserve">Gets the D-Bus interface name @proxy is for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @proxy. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_name" c:identifier="g_dbus_proxy_get_name" version="2.26">
<doc xml:space="preserve">Gets the name that @proxy was constructed for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @proxy. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
no-one currently owns that name. You may connect to the
#GObject::notify signal to track changes to the
#GDBusProxy:g-name-owner property.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">The name owner or %NULL if no name
owner exists. Free with g_free().</doc>
</method>
<method name="get_object_path" c:identifier="g_dbus_proxy_get_object_path" version="2.26">
<doc xml:space="preserve">Gets the object path @proxy is for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A string owned by @proxy. Do not free.</doc>
<type name="utf8" c:type="const gchar*"/>
it is more efficient to only transmit the delta using e.g. signals
`ChatroomParticipantJoined(String name)` and
`ChatroomParticipantParted(String name)`.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_dbus_proxy_call_sync() functions.
See the #GDBusProxy:g-default-timeout property for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Ensure that interactions with @proxy conform to the given
interface. See the #GDBusProxy:g-interface-info property for more
details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="DBusProxyClass" c:type="GDBusProxyClass" glib:is-gtype-struct-for="DBusProxy" version="2.26">
<doc xml:space="preserve">Class structure for #GDBusProxy.</doc>
-
<field name="parent_class" readable="0" private="1">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="g_properties_changed">
<callback name="g_properties_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="g_signal">
<callback name="g_signal">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified.</doc>
</member>
</bitfield>
- <record name="DBusProxyPrivate" c:type="GDBusProxyPrivate" disguised="1">
-
- </record>
+ <record name="DBusProxyPrivate" c:type="GDBusProxyPrivate" disguised="1"/>
<callback name="DBusProxyTypeFunc" c:type="GDBusProxyTypeFunc" version="2.30">
<doc xml:space="preserve">Function signature for a function used to determine the #GType to
use for an interface proxy (if @interface_name is not %NULL) or
This function is called in the
[thread-default main loop][g-main-context-push-thread-default]
that @manager was constructed in.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GType to use for the remote object. The returned type
must be a #GDBusProxy or #GDBusObjectProxy -derived
To just export an object on a well-known name on a message bus, such as the
session or system bus, you should instead use g_bus_own_name().
-An example of peer-to-peer communication with G-DBus can be found
+An example of peer-to-peer communication with GDBus can be found
in [gdbus-example-peer.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-peer.c).
Note that a minimal #GDBusServer will accept connections from any
peer. In many use-cases it will be necessary to add a #GDBusAuthObserver
that only accepts connections that have successfully authenticated
-as the same user that is running the #GDBusServer.</doc>
+as the same user that is running the #GDBusServer. Since GLib 2.68 this can
+be achieved more simply by passing the
+%G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag to the server.</doc>
<implements name="Initable"/>
<constructor name="new_sync" c:identifier="g_dbus_server_new_sync" version="2.26" throws="1">
<doc xml:space="preserve">Creates a new D-Bus server that listens on the first address in
This is a synchronous failable constructor. There is currently no
asynchronous version.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GDBusServer or %NULL if @error is set. Free with
g_object_unref().</doc>
<doc xml:space="preserve">Gets a
[D-Bus address](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses)
string that can be used by clients to connect to @server.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A D-Bus address string. Do not free, the string is owned
by @server.</doc>
</method>
<method name="get_flags" c:identifier="g_dbus_server_get_flags" version="2.26">
<doc xml:space="preserve">Gets the flags for @server.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A set of flags from the #GDBusServerFlags enumeration.</doc>
<type name="DBusServerFlags" c:type="GDBusServerFlags"/>
</method>
<method name="get_guid" c:identifier="g_dbus_server_get_guid" version="2.26">
<doc xml:space="preserve">Gets the GUID for @server.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A D-Bus GUID. Do not free this string, it is owned by @server.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="is_active" c:identifier="g_dbus_server_is_active" version="2.26">
<doc xml:space="preserve">Gets whether @server is active.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if server is active, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="start" c:identifier="g_dbus_server_start" version="2.26">
<doc xml:space="preserve">Starts @server.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="stop" c:identifier="g_dbus_server_stop" version="2.26">
<doc xml:space="preserve">Stops @server.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</bitfield>
<callback name="DBusSignalCallback" c:type="GDBusSignalCallback" version="2.26">
<doc xml:space="preserve">Signature for callback function used in g_dbus_connection_signal_subscribe().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</bitfield>
<record name="DBusSignalInfo" c:type="GDBusSignalInfo" version="2.26" glib:type-name="GDBusSignalInfo" glib:get-type="g_dbus_signal_info_get_type" c:symbol-prefix="dbus_signal_info">
<doc xml:space="preserve">Information about a signal on a D-Bus interface.</doc>
-
<field name="ref_count" writable="1">
<doc xml:space="preserve">The reference count or -1 if statically allocated.</doc>
<type name="gint" c:type="volatile gint"/>
<method name="ref" c:identifier="g_dbus_signal_info_ref" version="2.26">
<doc xml:space="preserve">If @info is statically allocated does nothing. Otherwise increases
the reference count.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The same @info.</doc>
<type name="DBusSignalInfo" c:type="GDBusSignalInfo*"/>
<doc xml:space="preserve">If @info is statically allocated, does nothing. Otherwise decreases
the reference count of @info. When its reference count drops to 0,
the memory used is freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Subtrees are flat. @node, if non-%NULL, is always exactly one
segment of the object path (ie: it never contains a slash).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods.</doc>
<type name="DBusInterfaceVTable" c:type="const GDBusInterfaceVTable*"/>
contain the '/' character.
The return value will be freed with g_strfreev().</doc>
-
<return-value>
<doc xml:space="preserve">A newly allocated array of strings for node names that are children of @object_path.</doc>
<array c:type="gchar**">
items is that the standard DBus interfaces will returned to the
remote introspector in the empty array case, but not in the %NULL
case.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL.</doc>
<type name="DBusInterfaceInfo" c:type="GDBusInterfaceInfo**"/>
</callback>
<record name="DBusSubtreeVTable" c:type="GDBusSubtreeVTable" version="2.26">
<doc xml:space="preserve">Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().</doc>
-
<field name="enumerate" introspectable="0" writable="1">
<doc xml:space="preserve">Function for enumerating child nodes.</doc>
<type name="DBusSubtreeEnumerateFunc" c:type="GDBusSubtreeEnumerateFunc"/>
</field>
</record>
<function-macro name="DESKTOP_APP_INFO" c:identifier="G_DESKTOP_APP_INFO" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DESKTOP_APP_INFO_CLASS" c:identifier="G_DESKTOP_APP_INFO_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="DESKTOP_APP_INFO_GET_CLASS" c:identifier="G_DESKTOP_APP_INFO_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="DESKTOP_APP_INFO_LOOKUP" c:identifier="G_DESKTOP_APP_INFO_LOOKUP" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
[Extending GIO][extending-gio].</doc>
<doc-deprecated xml:space="preserve">The #GDesktopAppInfoLookup interface is deprecated and
unused by GIO.</doc-deprecated>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="DESKTOP_APP_INFO_LOOKUP_GET_IFACE" c:identifier="G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="DRIVE" c:identifier="G_DRIVE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="DRIVE_GET_IFACE" c:identifier="G_DRIVE_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</function-macro>
<constant name="DRIVE_IDENTIFIER_KIND_UNIX_DEVICE" value="unix-device" c:type="G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE" version="2.58">
<doc xml:space="preserve">The string used to obtain a Unix device path with g_drive_get_identifier().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="DTLS_CLIENT_CONNECTION" c:identifier="G_DTLS_CLIENT_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DTLS_CLIENT_CONNECTION_GET_INTERFACE" c:identifier="G_DTLS_CLIENT_CONNECTION_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DTLS_CONNECTION" c:identifier="G_DTLS_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DTLS_CONNECTION_GET_INTERFACE" c:identifier="G_DTLS_CONNECTION_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DTLS_SERVER_CONNECTION" c:identifier="G_DTLS_SERVER_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="DTLS_SERVER_CONNECTION_GET_INTERFACE" c:identifier="G_DTLS_SERVER_CONNECTION_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
<class name="DataInputStream" c:symbol-prefix="data_input_stream" c:type="GDataInputStream" parent="BufferedInputStream" glib:type-name="GDataInputStream" glib:get-type="g_data_input_stream_get_type" glib:type-struct="DataInputStreamClass">
<doc xml:space="preserve">Data input stream implements #GInputStream and includes functions for
reading structured data directly from a binary input stream.</doc>
-
<implements name="Seekable"/>
<constructor name="new" c:identifier="g_data_input_stream_new">
<doc xml:space="preserve">Creates a new data input stream for the @base_stream.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GDataInputStream.</doc>
<type name="DataInputStream" c:type="GDataInputStream*"/>
</constructor>
<method name="get_byte_order" c:identifier="g_data_input_stream_get_byte_order">
<doc xml:space="preserve">Gets the byte order for the data input stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the @stream's current #GDataStreamByteOrder.</doc>
<type name="DataStreamByteOrder" c:type="GDataStreamByteOrder"/>
</method>
<method name="get_newline_type" c:identifier="g_data_input_stream_get_newline_type">
<doc xml:space="preserve">Gets the current newline type for the @stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GDataStreamNewlineType for the given @stream.</doc>
<type name="DataStreamNewlineType" c:type="GDataStreamNewlineType"/>
</method>
<method name="read_byte" c:identifier="g_data_input_stream_read_byte" throws="1">
<doc xml:space="preserve">Reads an unsigned 8-bit/1-byte value from @stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an unsigned 8-bit/1-byte value read from the @stream or `0`
if an error occurred.</doc>
In order to get the correct byte order for this read operation,
see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a signed 16-bit/2-byte value read from @stream or `0` if
an error occurred.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a signed 32-bit/4-byte value read from the @stream or `0` if
an error occurred.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a signed 64-bit/8-byte value read from @stream or `0` if
an error occurred.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">
a NUL terminated byte array with the line that was read in
When the operation is finished, @callback will be called. You
can then call g_data_input_stream_read_line_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_data_input_stream_read_line_async(). Note the warning about
string encoding in g_data_input_stream_read_line() applies here as
well.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">
a NUL-terminated byte array with the line that was read in
<method name="read_line_finish_utf8" c:identifier="g_data_input_stream_read_line_finish_utf8" version="2.30" throws="1">
<doc xml:space="preserve">Finish an asynchronous call started by
g_data_input_stream_read_line_async().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a string with the line that
was read in (without the newlines). Set @length to a #gsize to
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a NUL terminated UTF-8 string
with the line that was read in (without the newlines). Set
In order to get the correct byte order for this read operation,
see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an unsigned 16-bit/2-byte value read from the @stream or `0` if
an error occurred.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an unsigned 32-bit/4-byte value read from the @stream or `0` if
an error occurred.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an unsigned 64-bit/8-byte read from @stream or `0` if
an error occurred.</doc>
does not consume the stop character.</doc>
<doc-deprecated xml:space="preserve">Use g_data_input_stream_read_upto() instead, which has more
consistent behaviour regarding the stop character.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string with the data that was read
before encountering any of the stop characters. Set @length to
g_data_input_stream_read_upto_async() instead.</doc>
<doc-deprecated xml:space="preserve">Use g_data_input_stream_read_upto_async() instead, which
has more consistent behaviour regarding the stop character.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_data_input_stream_read_until_async().</doc>
<doc-deprecated xml:space="preserve">Use g_data_input_stream_read_upto_finish() instead, which
has more consistent behaviour regarding the stop character.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string with the data that was read
before encountering any of the stop characters. Set @length to
specified.
The returned string will always be nul-terminated on success.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string with the data that was read
before encountering any of the stop characters. Set @length to
When the operation is finished, @callback will be called. You
can then call g_data_input_stream_read_upto_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_data_input_stream_read_upto_async() again.
The returned string will always be nul-terminated on success.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string with the data that was read
before encountering any of the stop characters. Set @length to
<method name="set_byte_order" c:identifier="g_data_input_stream_set_byte_order">
<doc xml:space="preserve">This function sets the byte order for the given @stream. All subsequent
reads from the @stream will be read in the given @order.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that using G_DATA_STREAM_NEWLINE_TYPE_ANY is slightly unsafe. If a read
chunk ends in "CR" we must read an additional byte to know if this is "CR" or
"CR LF", and this might block if there is no more data available.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="DataInputStreamClass" c:type="GDataInputStreamClass" glib:is-gtype-struct-for="DataInputStream">
-
<field name="parent_class">
<type name="BufferedInputStreamClass" c:type="GBufferedInputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="DataInputStreamPrivate" c:type="GDataInputStreamPrivate" disguised="1">
-
- </record>
+ <record name="DataInputStreamPrivate" c:type="GDataInputStreamPrivate" disguised="1"/>
<class name="DataOutputStream" c:symbol-prefix="data_output_stream" c:type="GDataOutputStream" parent="FilterOutputStream" glib:type-name="GDataOutputStream" glib:get-type="g_data_output_stream_get_type" glib:type-struct="DataOutputStreamClass">
<doc xml:space="preserve">Data output stream implements #GOutputStream and includes functions for
writing data directly to an output stream.</doc>
-
<implements name="Seekable"/>
<constructor name="new" c:identifier="g_data_output_stream_new">
<doc xml:space="preserve">Creates a new data output stream for @base_stream.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GDataOutputStream.</doc>
<type name="DataOutputStream" c:type="GDataOutputStream*"/>
</constructor>
<method name="get_byte_order" c:identifier="g_data_output_stream_get_byte_order">
<doc xml:space="preserve">Gets the byte order for the stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GDataStreamByteOrder for the @stream.</doc>
<type name="DataStreamByteOrder" c:type="GDataStreamByteOrder"/>
</method>
<method name="put_byte" c:identifier="g_data_output_stream_put_byte" throws="1">
<doc xml:space="preserve">Puts a byte into the output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="put_int16" c:identifier="g_data_output_stream_put_int16" throws="1">
<doc xml:space="preserve">Puts a signed 16-bit integer into the output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="put_int32" c:identifier="g_data_output_stream_put_int32" throws="1">
<doc xml:space="preserve">Puts a signed 32-bit integer into the output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="put_int64" c:identifier="g_data_output_stream_put_int64" throws="1">
<doc xml:space="preserve">Puts a signed 64-bit integer into the stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="put_string" c:identifier="g_data_output_stream_put_string" throws="1">
<doc xml:space="preserve">Puts a string into the output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="put_uint16" c:identifier="g_data_output_stream_put_uint16" throws="1">
<doc xml:space="preserve">Puts an unsigned 16-bit integer into the output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="put_uint32" c:identifier="g_data_output_stream_put_uint32" throws="1">
<doc xml:space="preserve">Puts an unsigned 32-bit integer into the stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="put_uint64" c:identifier="g_data_output_stream_put_uint64" throws="1">
<doc xml:space="preserve">Puts an unsigned 64-bit integer into the stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @data was successfully added to the @stream.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="set_byte_order" c:identifier="g_data_output_stream_set_byte_order">
<doc xml:space="preserve">Sets the byte order of the data output stream to @order.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="DataOutputStreamClass" c:type="GDataOutputStreamClass" glib:is-gtype-struct-for="DataOutputStream">
-
<field name="parent_class">
<type name="FilterOutputStreamClass" c:type="GFilterOutputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="DataOutputStreamPrivate" c:type="GDataOutputStreamPrivate" disguised="1">
-
- </record>
+ <record name="DataOutputStreamPrivate" c:type="GDataOutputStreamPrivate" disguised="1"/>
<enumeration name="DataStreamByteOrder" glib:type-name="GDataStreamByteOrder" glib:get-type="g_data_stream_byte_order_get_type" c:type="GDataStreamByteOrder">
<doc xml:space="preserve">#GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
across various machine architectures.</doc>
Like most other APIs in GLib, #GDatagramBased is not inherently thread safe.
To use a #GDatagramBased concurrently from multiple threads, you must
implement your own locking.</doc>
-
<virtual-method name="condition_check" invoker="condition_check" version="2.48">
<doc xml:space="preserve">Checks on the readiness of @datagram_based to perform operations. The
operations specified in @condition are checked for and masked against the
these flags, the output is guaranteed to be masked by @condition.
This call never blocks.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GIOCondition mask of the current state</doc>
<type name="GLib.IOCondition" c:type="GIOCondition"/>
If @cancellable is cancelled before the condition is met, or if @timeout is
reached before the condition is met, then %FALSE is returned and @error is
set appropriately (%G_IO_ERROR_CANCELLED or %G_IO_ERROR_TIMED_OUT).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the condition was met, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
likely 0 unless cancellation happened at the same time as a condition
change). You can check for this in the callback using
g_cancellable_is_cancelled().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
messages successfully received before the error will be returned. If
@cancellable is cancelled, %G_IO_ERROR_CANCELLED is returned as with any
other error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages received, or -1 on error. Note that the number
of messages received may be smaller than @num_messages if @timeout is
be returned if zero messages could be sent; otherwise the number of messages
successfully sent before the error will be returned. If @cancellable is
cancelled, %G_IO_ERROR_CANCELLED is returned as with any other error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages sent, or -1 on error. Note that the number of
messages sent may be smaller than @num_messages if @timeout is zero
these flags, the output is guaranteed to be masked by @condition.
This call never blocks.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GIOCondition mask of the current state</doc>
<type name="GLib.IOCondition" c:type="GIOCondition"/>
If @cancellable is cancelled before the condition is met, or if @timeout is
reached before the condition is met, then %FALSE is returned and @error is
set appropriately (%G_IO_ERROR_CANCELLED or %G_IO_ERROR_TIMED_OUT).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the condition was met, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
likely 0 unless cancellation happened at the same time as a condition
change). You can check for this in the callback using
g_cancellable_is_cancelled().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
messages successfully received before the error will be returned. If
@cancellable is cancelled, %G_IO_ERROR_CANCELLED is returned as with any
other error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages received, or -1 on error. Note that the number
of messages received may be smaller than @num_messages if @timeout is
be returned if zero messages could be sent; otherwise the number of messages
successfully sent before the error will be returned. If @cancellable is
cancelled, %G_IO_ERROR_CANCELLED is returned as with any other error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages sent, or -1 on error. Note that the number of
messages sent may be smaller than @num_messages if @timeout is zero
around the corresponding virtual methods, and no pre-processing of inputs is
implemented — so implementations of this API must handle all functionality
documented in the interface methods.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="receive_messages">
<callback name="receive_messages" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages received, or -1 on error. Note that the number
of messages received may be smaller than @num_messages if @timeout is
</field>
<field name="send_messages">
<callback name="send_messages" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages sent, or -1 on error. Note that the number of
messages sent may be smaller than @num_messages if @timeout is zero
</field>
<field name="create_source">
<callback name="create_source">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
</field>
<field name="condition_check">
<callback name="condition_check">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GIOCondition mask of the current state</doc>
<type name="GLib.IOCondition" c:type="GIOCondition"/>
</field>
<field name="condition_wait">
<callback name="condition_wait" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the condition was met, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<callback name="DatagramBasedSourceFunc" c:type="GDatagramBasedSourceFunc" version="2.48">
<doc xml:space="preserve">This is the function type of the callback used for the #GSource
returned by g_datagram_based_create_source().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_SOURCE_REMOVE if the source should be removed,
%G_SOURCE_CONTINUE otherwise</doc>
Note that `<gio/gdesktopappinfo.h>` belongs to the UNIX-specific
GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config
file when using it.</doc>
-
<implements name="AppInfo"/>
<constructor name="new" c:identifier="g_desktop_app_info_new">
<doc xml:space="preserve">Creates a new #GDesktopAppInfo based on a desktop file id.
[Menu Spec](http://standards.freedesktop.org/menu-spec/latest/)
(i.e. a desktop id of kde-foo.desktop will match
`/usr/share/applications/kde/foo.desktop`).</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDesktopAppInfo, or %NULL if no desktop
file with that id exists.</doc>
</constructor>
<constructor name="new_from_filename" c:identifier="g_desktop_app_info_new_from_filename">
<doc xml:space="preserve">Creates a new #GDesktopAppInfo.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDesktopAppInfo or %NULL on error.</doc>
<type name="DesktopAppInfo" c:type="GDesktopAppInfo*"/>
</constructor>
<constructor name="new_from_keyfile" c:identifier="g_desktop_app_info_new_from_keyfile" version="2.18">
<doc xml:space="preserve">Creates a new #GDesktopAppInfo.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GDesktopAppInfo or %NULL on error.</doc>
<type name="DesktopAppInfo" c:type="GDesktopAppInfo*"/>
An application implements an interface if that interface is listed in
the Implements= line of the desktop file of the application.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a list of #GDesktopAppInfo
objects.</doc>
g_desktop_app_info_new() to return %NULL when passed an app ID returned by
this function. It is expected that calling code will do this when
subsequently creating a #GDesktopAppInfo for each result.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a
list of strvs. Free each item with g_strfreev() and free the outer
Should be called only once; subsequent calls are ignored.</doc>
<doc-deprecated xml:space="preserve">do not use this API. Since 2.42 the value of the
`XDG_CURRENT_DESKTOP` environment variable will be used.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This corresponds to the "Name" key within the keyfile group for the
action.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the locale-specific action name</doc>
<type name="utf8" c:type="gchar*"/>
<doc xml:space="preserve">Looks up a boolean value in the keyfile backing @info.
The @key is looked up in the "Desktop Entry" group.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the boolean value, or %FALSE if the key
is not found</doc>
</method>
<method name="get_categories" c:identifier="g_desktop_app_info_get_categories">
<doc xml:space="preserve">Gets the categories from the desktop file.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The unparsed Categories key from the desktop file;
i.e. no attempt is made to split it by ';' or validate it.</doc>
<type name="utf8" c:type="const char*"/>
<doc xml:space="preserve">When @info was created from a known filename, return it. In some
situations such as the #GDesktopAppInfo returned from
g_desktop_app_info_new_from_keyfile(), this function will return %NULL.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The full path to the file for @info,
or %NULL if not known.</doc>
<type name="filename" c:type="const char*"/>
</parameters>
</method>
<method name="get_generic_name" c:identifier="g_desktop_app_info_get_generic_name">
- <doc xml:space="preserve">Gets the generic name from the destkop file.</doc>
-
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve">Gets the generic name from the desktop file.</doc>
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value of the GenericName key</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
<method name="get_is_hidden" c:identifier="g_desktop_app_info_get_is_hidden">
<doc xml:space="preserve">A desktop file is hidden if the Hidden key in it is
set to True.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if hidden, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_keywords" c:identifier="g_desktop_app_info_get_keywords" version="2.32">
<doc xml:space="preserve">Gets the keywords from the desktop file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The value of the Keywords key</doc>
<array c:type="const char* const*">
translated to the current locale.
The @key is looked up in the "Desktop Entry" group.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string, or %NULL if the key
is not found</doc>
<doc xml:space="preserve">Gets the value of the NoDisplay key, which helps determine if the
application info should be shown in menus. See
#G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The value of the NoDisplay key</doc>
<type name="gboolean" c:type="gboolean"/>
Note that g_app_info_should_show() for @info will include this check (with
%NULL for @desktop_env) as well as additional checks.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @info should be shown in @desktop_env according to the
`OnlyShowIn` and `NotShowIn` keys, %FALSE
<doc xml:space="preserve">Retrieves the StartupWMClass field from @info. This represents the
WM_CLASS property of the main window of the application, if launched
through @info.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the startup WM class, or %NULL if none is set
in the desktop file.</doc>
<type name="utf8" c:type="const char*"/>
<doc xml:space="preserve">Looks up a string value in the keyfile backing @info.
The @key is looked up in the "Desktop Entry" group.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string, or %NULL if the key
is not found</doc>
<type name="utf8" c:type="char*"/>
<doc xml:space="preserve">Looks up a string list value in the keyfile backing @info.
The @key is looked up in the "Desktop Entry" group.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
a %NULL-terminated string array or %NULL if the specified
<method name="has_key" c:identifier="g_desktop_app_info_has_key" version="2.36">
<doc xml:space="preserve">Returns whether @key exists in the "Desktop Entry" group
of the keyfile backing @info.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @key exists</doc>
<type name="gboolean" c:type="gboolean"/>
As with g_app_info_launch() there is no way to detect failures that
occur while using this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If application launching occurs via some other mechanism (eg: D-Bus
activation) then @spawn_flags, @user_setup, @user_setup_data,
@pid_callback and @pid_callback_data are ignored.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If application launching occurs via some non-spawn mechanism (e.g. D-Bus
activation) then @stdin_fd, @stdout_fd and @stderr_fd are ignored.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful launch, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
As per the specification, this is the list of actions that are
explicitly listed in the "Actions" key of the [Desktop Entry] group.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a list of strings, always non-%NULL</doc>
<array c:type="const gchar* const*">
</property>
</class>
<record name="DesktopAppInfoClass" c:type="GDesktopAppInfoClass" glib:is-gtype-struct-for="DesktopAppInfo">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
using the following functions.</doc>
<doc-deprecated xml:space="preserve">The #GDesktopAppInfoLookup interface is deprecated and
unused by GIO.</doc-deprecated>
-
<virtual-method name="get_default_for_uri_scheme" invoker="get_default_for_uri_scheme" deprecated="1" deprecated-version="2.28">
<doc xml:space="preserve">Gets the default application for launching applications
using this URI scheme for a particular #GDesktopAppInfoLookup
directly. Applications should use g_app_info_get_default_for_uri_scheme().</doc>
<doc-deprecated xml:space="preserve">The #GDesktopAppInfoLookup interface is deprecated and
unused by GIO.</doc-deprecated>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">#GAppInfo for given @uri_scheme or
%NULL on error.</doc>
directly. Applications should use g_app_info_get_default_for_uri_scheme().</doc>
<doc-deprecated xml:space="preserve">The #GDesktopAppInfoLookup interface is deprecated and
unused by GIO.</doc-deprecated>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">#GAppInfo for given @uri_scheme or
%NULL on error.</doc>
<record name="DesktopAppInfoLookupIface" c:type="GDesktopAppInfoLookupIface" glib:is-gtype-struct-for="DesktopAppInfoLookup">
<doc xml:space="preserve">Interface that is used by backends to associate default
handlers with URI schemes.</doc>
-
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_default_for_uri_scheme">
<callback name="get_default_for_uri_scheme">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">#GAppInfo for given @uri_scheme or
%NULL on error.</doc>
<doc xml:space="preserve">During invocation, g_desktop_app_info_launch_uris_as_manager() may
create one or more child processes. This callback is invoked once
for each, providing the process ID.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
For porting from GnomeVFS note that there is no equivalent of
#GDrive in that API.</doc>
-
<virtual-method name="can_eject" invoker="can_eject">
<doc xml:space="preserve">Checks if a drive can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be ejected, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="can_poll_for_media" invoker="can_poll_for_media">
<doc xml:space="preserve">Checks if a drive can be polled for media changes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be polled for media changes,
%FALSE otherwise.</doc>
</virtual-method>
<virtual-method name="can_start" invoker="can_start" version="2.22">
<doc xml:space="preserve">Checks if a drive can be started.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be started, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="can_start_degraded" invoker="can_start_degraded" version="2.22">
<doc xml:space="preserve">Checks if a drive can be started degraded.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be started degraded, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="can_stop" invoker="can_stop" version="2.22">
<doc xml:space="preserve">Checks if a drive can be stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be stopped, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="disconnected">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
You can then call g_drive_eject_finish() to obtain the
result of the operation.</doc>
<doc-deprecated xml:space="preserve">Use g_drive_eject_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="eject_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="eject_finish" invoker="eject_finish" deprecated="1" deprecated-version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a drive.</doc>
<doc-deprecated xml:space="preserve">Use g_drive_eject_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been ejected successfully,
%FALSE otherwise.</doc>
<doc xml:space="preserve">Ejects a drive. This is an asynchronous operation, and is
finished by calling g_drive_eject_with_operation_finish() with the @drive
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="eject_with_operation_finish" invoker="eject_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a drive. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the kinds of identifiers that @drive has.
Use g_drive_get_identifier() to obtain the identifiers
themselves.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated
array of strings containing kinds of identifiers. Use g_strfreev()
</virtual-method>
<virtual-method name="get_icon" invoker="get_icon">
<doc xml:space="preserve">Gets the icon for @drive.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GIcon for the @drive.
Free the returned object with g_object_unref().</doc>
<doc xml:space="preserve">Gets the identifier of the given kind for @drive. The only
identifier currently available is
#G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
requested identifier, or %NULL if the #GDrive
</virtual-method>
<virtual-method name="get_name" invoker="get_name">
<doc xml:space="preserve">Gets the name of @drive.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string containing @drive's name. The returned
string should be freed when no longer needed.</doc>
</virtual-method>
<virtual-method name="get_sort_key" invoker="get_sort_key" version="2.32">
<doc xml:space="preserve">Gets the sort key for @drive, if any.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @drive or %NULL if no such key is available.</doc>
<type name="utf8" c:type="const gchar*"/>
</virtual-method>
<virtual-method name="get_start_stop_type" invoker="get_start_stop_type" version="2.22">
<doc xml:space="preserve">Gets a hint about how a drive can be started/stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A value from the #GDriveStartStopType enumeration.</doc>
<type name="DriveStartStopType" c:type="GDriveStartStopType"/>
</virtual-method>
<virtual-method name="get_symbolic_icon" invoker="get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the icon for @drive.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">symbolic #GIcon for the @drive.
Free the returned object with g_object_unref().</doc>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList containing any #GVolume objects on the given @drive.</doc>
<type name="GLib.List" c:type="GList*">
<doc xml:space="preserve">Checks if the @drive has media. Note that the OS may not be polling
the drive for media changes; see g_drive_is_media_check_automatic()
for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive has media, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="has_volumes" invoker="has_volumes">
<doc xml:space="preserve">Check if @drive has any mountable volumes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive contains volumes, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="is_media_check_automatic" invoker="is_media_check_automatic">
<doc xml:space="preserve">Checks if @drive is capable of automatically detecting media changes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive is capable of automatically detecting
media changes, %FALSE otherwise.</doc>
</virtual-method>
<virtual-method name="is_media_removable" invoker="is_media_removable">
<doc xml:space="preserve">Checks if the @drive supports removable media.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive supports removable media, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="is_removable" invoker="is_removable" version="2.50">
<doc xml:space="preserve">Checks if the #GDrive and/or its media is considered removable by the user.
See g_drive_is_media_removable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive and/or its media is considered removable, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called.
You can then call g_drive_poll_for_media_finish() to obtain the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="poll_for_media_finish" invoker="poll_for_media_finish" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_drive_poll_for_media() on a drive.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been poll_for_mediaed successfully,
%FALSE otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_drive_start_finish() to obtain the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="start_finish" invoker="start_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes starting a drive.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been started successfully,
%FALSE otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_drive_stop_finish() to obtain the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="stop_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="stop_finish" invoker="stop_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes stopping a drive.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been stopped successfully,
%FALSE otherwise.</doc>
</virtual-method>
<method name="can_eject" c:identifier="g_drive_can_eject">
<doc xml:space="preserve">Checks if a drive can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be ejected, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="can_poll_for_media" c:identifier="g_drive_can_poll_for_media">
<doc xml:space="preserve">Checks if a drive can be polled for media changes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be polled for media changes,
%FALSE otherwise.</doc>
</method>
<method name="can_start" c:identifier="g_drive_can_start" version="2.22">
<doc xml:space="preserve">Checks if a drive can be started.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be started, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="can_start_degraded" c:identifier="g_drive_can_start_degraded" version="2.22">
<doc xml:space="preserve">Checks if a drive can be started degraded.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be started degraded, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="can_stop" c:identifier="g_drive_can_stop" version="2.22">
<doc xml:space="preserve">Checks if a drive can be stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be stopped, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
You can then call g_drive_eject_finish() to obtain the
result of the operation.</doc>
<doc-deprecated xml:space="preserve">Use g_drive_eject_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="eject_finish" c:identifier="g_drive_eject_finish" deprecated="1" deprecated-version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a drive.</doc>
<doc-deprecated xml:space="preserve">Use g_drive_eject_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been ejected successfully,
%FALSE otherwise.</doc>
<doc xml:space="preserve">Ejects a drive. This is an asynchronous operation, and is
finished by calling g_drive_eject_with_operation_finish() with the @drive
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="eject_with_operation_finish" c:identifier="g_drive_eject_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a drive. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the kinds of identifiers that @drive has.
Use g_drive_get_identifier() to obtain the identifiers
themselves.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated
array of strings containing kinds of identifiers. Use g_strfreev()
</method>
<method name="get_icon" c:identifier="g_drive_get_icon">
<doc xml:space="preserve">Gets the icon for @drive.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GIcon for the @drive.
Free the returned object with g_object_unref().</doc>
<doc xml:space="preserve">Gets the identifier of the given kind for @drive. The only
identifier currently available is
#G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
requested identifier, or %NULL if the #GDrive
</method>
<method name="get_name" c:identifier="g_drive_get_name">
<doc xml:space="preserve">Gets the name of @drive.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string containing @drive's name. The returned
string should be freed when no longer needed.</doc>
</method>
<method name="get_sort_key" c:identifier="g_drive_get_sort_key" version="2.32">
<doc xml:space="preserve">Gets the sort key for @drive, if any.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @drive or %NULL if no such key is available.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_start_stop_type" c:identifier="g_drive_get_start_stop_type" version="2.22">
<doc xml:space="preserve">Gets a hint about how a drive can be started/stopped.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A value from the #GDriveStartStopType enumeration.</doc>
<type name="DriveStartStopType" c:type="GDriveStartStopType"/>
</method>
<method name="get_symbolic_icon" c:identifier="g_drive_get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the icon for @drive.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">symbolic #GIcon for the @drive.
Free the returned object with g_object_unref().</doc>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList containing any #GVolume objects on the given @drive.</doc>
<type name="GLib.List" c:type="GList*">
<doc xml:space="preserve">Checks if the @drive has media. Note that the OS may not be polling
the drive for media changes; see g_drive_is_media_check_automatic()
for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive has media, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="has_volumes" c:identifier="g_drive_has_volumes">
<doc xml:space="preserve">Check if @drive has any mountable volumes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive contains volumes, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_media_check_automatic" c:identifier="g_drive_is_media_check_automatic">
<doc xml:space="preserve">Checks if @drive is capable of automatically detecting media changes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive is capable of automatically detecting
media changes, %FALSE otherwise.</doc>
</method>
<method name="is_media_removable" c:identifier="g_drive_is_media_removable">
<doc xml:space="preserve">Checks if the @drive supports removable media.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive supports removable media, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="is_removable" c:identifier="g_drive_is_removable" version="2.50">
<doc xml:space="preserve">Checks if the #GDrive and/or its media is considered removable by the user.
See g_drive_is_media_removable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive and/or its media is considered removable, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called.
You can then call g_drive_poll_for_media_finish() to obtain the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="poll_for_media_finish" c:identifier="g_drive_poll_for_media_finish" throws="1">
<doc xml:space="preserve">Finishes an operation started with g_drive_poll_for_media() on a drive.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been poll_for_mediaed successfully,
%FALSE otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_drive_start_finish() to obtain the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="start_finish" c:identifier="g_drive_start_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes starting a drive.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been started successfully,
%FALSE otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_drive_stop_finish() to obtain the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="stop_finish" c:identifier="g_drive_stop_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes stopping a drive.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been stopped successfully,
%FALSE otherwise.</doc>
</interface>
<record name="DriveIface" c:type="GDriveIface" glib:is-gtype-struct-for="Drive">
<doc xml:space="preserve">Interface for creating #GDrive implementations.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="changed">
<callback name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="disconnected">
<callback name="disconnected">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_button">
<callback name="eject_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get_name">
<callback name="get_name">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string containing @drive's name. The returned
string should be freed when no longer needed.</doc>
</field>
<field name="get_icon">
<callback name="get_icon">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GIcon for the @drive.
Free the returned object with g_object_unref().</doc>
</field>
<field name="has_volumes">
<callback name="has_volumes">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive contains volumes, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_volumes">
<callback name="get_volumes">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList containing any #GVolume objects on the given @drive.</doc>
<type name="GLib.List" c:type="GList*">
</field>
<field name="is_media_removable">
<callback name="is_media_removable">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive supports removable media, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="has_media">
<callback name="has_media">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive has media, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="is_media_check_automatic">
<callback name="is_media_check_automatic">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive is capable of automatically detecting
media changes, %FALSE otherwise.</doc>
</field>
<field name="can_eject">
<callback name="can_eject">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be ejected, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="can_poll_for_media">
<callback name="can_poll_for_media">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be polled for media changes,
%FALSE otherwise.</doc>
</field>
<field name="eject">
<callback name="eject">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_finish">
<callback name="eject_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been ejected successfully,
%FALSE otherwise.</doc>
</field>
<field name="poll_for_media">
<callback name="poll_for_media">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="poll_for_media_finish">
<callback name="poll_for_media_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been poll_for_mediaed successfully,
%FALSE otherwise.</doc>
</field>
<field name="get_identifier">
<callback name="get_identifier">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
requested identifier, or %NULL if the #GDrive
</field>
<field name="enumerate_identifiers">
<callback name="enumerate_identifiers">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated
array of strings containing kinds of identifiers. Use g_strfreev()
</field>
<field name="get_start_stop_type">
<callback name="get_start_stop_type">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A value from the #GDriveStartStopType enumeration.</doc>
<type name="DriveStartStopType" c:type="GDriveStartStopType"/>
</field>
<field name="can_start">
<callback name="can_start">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be started, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="can_start_degraded">
<callback name="can_start_degraded">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be started degraded, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="start">
<callback name="start">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="start_finish">
<callback name="start_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been started successfully,
%FALSE otherwise.</doc>
</field>
<field name="can_stop">
<callback name="can_stop">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @drive can be stopped, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="stop">
<callback name="stop">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="stop_finish">
<callback name="stop_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive has been stopped successfully,
%FALSE otherwise.</doc>
</field>
<field name="stop_button">
<callback name="stop_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_with_operation">
<callback name="eject_with_operation">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_with_operation_finish">
<callback name="eject_with_operation_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the drive was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_sort_key">
<callback name="get_sort_key">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @drive or %NULL if no such key is available.</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="get_symbolic_icon">
<callback name="get_symbolic_icon">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">symbolic #GIcon for the @drive.
Free the returned object with g_object_unref().</doc>
</field>
<field name="is_removable">
<callback name="is_removable">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @drive and/or its media is considered removable, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<interface name="DtlsClientConnection" c:symbol-prefix="dtls_client_connection" c:type="GDtlsClientConnection" version="2.48" glib:type-name="GDtlsClientConnection" glib:get-type="g_dtls_client_connection_get_type" glib:type-struct="DtlsClientConnectionInterface">
<doc xml:space="preserve">#GDtlsClientConnection is the client-side subclass of
#GDtlsConnection, representing a client-side DTLS connection.</doc>
-
<prerequisite name="DatagramBased"/>
<prerequisite name="DtlsConnection"/>
<function name="new" c:identifier="g_dtls_client_connection_new" version="2.48" throws="1">
<doc xml:space="preserve">Creates a new #GDtlsClientConnection wrapping @base_socket which is
assumed to communicate with the server identified by @server_identity.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GDtlsClientConnection, or %NULL on error</doc>
Each item in the list is a #GByteArray which contains the complete
subject DN of the certificate authority.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the list of
CA DNs. You should unref each element with g_byte_array_unref() and then
</method>
<method name="get_server_identity" c:identifier="g_dtls_client_connection_get_server_identity" version="2.48">
<doc xml:space="preserve">Gets @conn's expected server identity</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSocketConnectable describing the
expected server identity, or %NULL if the expected identity is not
</method>
<method name="get_validation_flags" c:identifier="g_dtls_client_connection_get_validation_flags" version="2.48">
<doc xml:space="preserve">Gets @conn's validation flags</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the validation flags</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
servers on virtual hosts which certificate to present, and also
to let @conn know what name to look for in the certificate when
performing %G_TLS_CERTIFICATE_BAD_IDENTITY validation, if enabled.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets @conn's validation flags, to override the default set of
checks performed when validating a server certificate. By default,
%G_TLS_CERTIFICATE_VALIDATE_ALL is used.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<record name="DtlsClientConnectionInterface" c:type="GDtlsClientConnectionInterface" glib:is-gtype-struct-for="DtlsClientConnection" version="2.48">
<doc xml:space="preserve">vtable for a #GDtlsClientConnection implementation.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
do that if they wish. If they do not, and g_socket_close() is called on the
base socket, the #GDtlsConnection will not raise a %G_IO_ERROR_NOT_CONNECTED
error on further I/O.</doc>
-
<prerequisite name="DatagramBased"/>
<virtual-method name="accept_certificate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="get_binding_data" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
protocol that matched one of @conn's protocols, or the TLS backend
does not support ALPN, then this will be %NULL. See
g_dtls_connection_set_advertised_protocols().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the negotiated protocol, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
#GDtlsConnection::accept_certificate may be emitted during the
handshake.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="handshake_async" invoker="handshake_async" version="2.48">
<doc xml:space="preserve">Asynchronously performs a TLS handshake on @conn. See
g_dtls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="handshake_finish" invoker="handshake_finish" version="2.48" throws="1">
<doc xml:space="preserve">Finish an asynchronous TLS handshake operation. See
g_dtls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set.</doc>
See [IANA TLS ALPN Protocol IDs](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)
for a list of registered protocol IDs.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @cancellable is cancelled, the #GDtlsConnection may be left
partially-closed and any pending untransmitted data may be lost. Call
g_dtls_connection_shutdown() again to complete closing the #GDtlsConnection.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="shutdown_async" invoker="shutdown_async" version="2.48">
<doc xml:space="preserve">Asynchronously shut down part or all of the DTLS connection. See
g_dtls_connection_shutdown() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="shutdown_finish" invoker="shutdown_finish" version="2.48" throws="1">
<doc xml:space="preserve">Finish an asynchronous TLS shutdown operation. See
g_dtls_connection_shutdown() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set</doc>
If @cancellable is cancelled, the #GDtlsConnection may be left
partially-closed and any pending untransmitted data may be lost. Call
g_dtls_connection_close() again to complete closing the #GDtlsConnection.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="close_async" c:identifier="g_dtls_connection_close_async" version="2.48">
<doc xml:space="preserve">Asynchronously close the DTLS connection. See g_dtls_connection_close() for
more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="close_finish" c:identifier="g_dtls_connection_close_finish" version="2.48" throws="1">
<doc xml:space="preserve">Finish an asynchronous TLS close operation. See g_dtls_connection_close()
for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set</doc>
<method name="emit_accept_certificate" c:identifier="g_dtls_connection_emit_accept_certificate" version="2.48">
<doc xml:space="preserve">Used by #GDtlsConnection implementations to emit the
#GDtlsConnection::accept-certificate signal.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if one of the signal handlers has returned
%TRUE to accept @peer_cert</doc>
<method name="get_certificate" c:identifier="g_dtls_connection_get_certificate" version="2.48">
<doc xml:space="preserve">Gets @conn's certificate, as set by
g_dtls_connection_set_certificate().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@conn's certificate, or %NULL</doc>
<type name="TlsCertificate" c:type="GTlsCertificate*"/>
will be available though. That could happen if TLS connection does not
support @type or the binding data is not available yet due to additional
negotiation or input required.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_database" c:identifier="g_dtls_connection_get_database" version="2.48">
<doc xml:space="preserve">Gets the certificate database that @conn uses to verify
peer certificates. See g_dtls_connection_set_database().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the certificate database that @conn uses or %NULL</doc>
<type name="TlsDatabase" c:type="GTlsDatabase*"/>
<doc xml:space="preserve">Get the object that will be used to interact with the user. It will be used
for things like prompting the user for passwords. If %NULL is returned, then
no user interaction will occur for this connection.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The interaction object.</doc>
<type name="TlsInteraction" c:type="GTlsInteraction*"/>
protocol that matched one of @conn's protocols, or the TLS backend
does not support ALPN, then this will be %NULL. See
g_dtls_connection_set_advertised_protocols().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the negotiated protocol, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
<doc xml:space="preserve">Gets @conn's peer's certificate after the handshake has completed
or failed. (It is not set during the emission of
#GDtlsConnection::accept-certificate.)</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@conn's peer's certificate, or %NULL</doc>
<type name="TlsCertificate" c:type="GTlsCertificate*"/>
<doc xml:space="preserve">Gets the errors associated with validating @conn's peer's
certificate, after the handshake has completed or failed. (It is
not set during the emission of #GDtlsConnection::accept-certificate.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@conn's peer's certificate errors</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
<doc-deprecated xml:space="preserve">Changing the rehandshake mode is no longer
required for compatibility. Also, rehandshaking has been removed
from the TLS protocol in TLS 1.3.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_TLS_REHANDSHAKE_SAFELY</doc>
<type name="TlsRehandshakeMode" c:type="GTlsRehandshakeMode"/>
<doc xml:space="preserve">Tests whether or not @conn expects a proper TLS close notification
when the connection is closed. See
g_dtls_connection_set_require_close_notify() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @conn requires a proper TLS close notification.</doc>
<type name="gboolean" c:type="gboolean"/>
#GDtlsConnection::accept_certificate may be emitted during the
handshake.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="handshake_async" c:identifier="g_dtls_connection_handshake_async" version="2.48">
<doc xml:space="preserve">Asynchronously performs a TLS handshake on @conn. See
g_dtls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="handshake_finish" c:identifier="g_dtls_connection_handshake_finish" version="2.48" throws="1">
<doc xml:space="preserve">Finish an asynchronous TLS handshake operation. See
g_dtls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set.</doc>
See [IANA TLS ALPN Protocol IDs](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)
for a list of registered protocol IDs.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
certificate, you can tell that the server requested one by the fact
that g_dtls_client_connection_get_accepted_cas() will return
non-%NULL.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
#GDtlsConnection::accept-certificate will always be emitted on
client-side connections, unless that bit is not set in
#GDtlsClientConnection:validation-flags).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The @interaction argument will normally be a derived subclass of
#GTlsInteraction. %NULL can also be provided if no user interaction
should occur for this connection.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc-deprecated xml:space="preserve">Changing the rehandshake mode is no longer
required for compatibility. Also, rehandshaking has been removed
from the TLS protocol in TLS 1.3.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
setting of this property. If you explicitly want to do an unclean
close, you can close @conn's #GDtlsConnection:base-socket rather
than closing @conn itself.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @cancellable is cancelled, the #GDtlsConnection may be left
partially-closed and any pending untransmitted data may be lost. Call
g_dtls_connection_shutdown() again to complete closing the #GDtlsConnection.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="shutdown_async" c:identifier="g_dtls_connection_shutdown_async" version="2.48">
<doc xml:space="preserve">Asynchronously shut down part or all of the DTLS connection. See
g_dtls_connection_shutdown() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="shutdown_finish" c:identifier="g_dtls_connection_shutdown_finish" version="2.48" throws="1">
<doc xml:space="preserve">Finish an asynchronous TLS shutdown operation. See
g_dtls_connection_shutdown() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set</doc>
</interface>
<record name="DtlsConnectionInterface" c:type="GDtlsConnectionInterface" glib:is-gtype-struct-for="DtlsConnection" version="2.48">
<doc xml:space="preserve">Virtual method table for a #GDtlsConnection implementation.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="accept_certificate">
<callback name="accept_certificate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="handshake">
<callback name="handshake" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="handshake_async">
<callback name="handshake_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="handshake_finish">
<callback name="handshake_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set.</doc>
</field>
<field name="shutdown">
<callback name="shutdown" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="shutdown_async">
<callback name="shutdown_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="shutdown_finish">
<callback name="shutdown_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set</doc>
</field>
<field name="set_advertised_protocols">
<callback name="set_advertised_protocols">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get_negotiated_protocol">
<callback name="get_negotiated_protocol">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the negotiated protocol, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="get_binding_data">
<callback name="get_binding_data" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<interface name="DtlsServerConnection" c:symbol-prefix="dtls_server_connection" c:type="GDtlsServerConnection" version="2.48" glib:type-name="GDtlsServerConnection" glib:get-type="g_dtls_server_connection_get_type" glib:type-struct="DtlsServerConnectionInterface">
<doc xml:space="preserve">#GDtlsServerConnection is the server-side subclass of #GDtlsConnection,
representing a server-side DTLS connection.</doc>
-
<prerequisite name="DatagramBased"/>
<prerequisite name="DtlsConnection"/>
<function name="new" c:identifier="g_dtls_server_connection_new" version="2.48" throws="1">
<doc xml:space="preserve">Creates a new #GDtlsServerConnection wrapping @base_socket.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GDtlsServerConnection, or %NULL on error</doc>
</interface>
<record name="DtlsServerConnectionInterface" c:type="GDtlsServerConnectionInterface" glib:is-gtype-struct-for="DtlsServerConnection" version="2.48">
<doc xml:space="preserve">vtable for a #GDtlsServerConnection implementation.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
</record>
<function-macro name="EMBLEM" c:identifier="G_EMBLEM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="EMBLEMED_ICON" c:identifier="G_EMBLEMED_ICON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="EMBLEMED_ICON_CLASS" c:identifier="G_EMBLEMED_ICON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="EMBLEMED_ICON_GET_CLASS" c:identifier="G_EMBLEMED_ICON_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="EMBLEM_CLASS" c:identifier="G_EMBLEM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="EMBLEM_GET_CLASS" c:identifier="G_EMBLEM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
Currently, only metainformation about the emblem's origin is
supported. More may be added in the future.</doc>
-
<implements name="Icon"/>
<constructor name="new" c:identifier="g_emblem_new" version="2.18">
<doc xml:space="preserve">Creates a new emblem for @icon.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GEmblem.</doc>
<type name="Emblem" c:type="GEmblem*"/>
</constructor>
<constructor name="new_with_origin" c:identifier="g_emblem_new_with_origin" version="2.18">
<doc xml:space="preserve">Creates a new emblem for @icon.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GEmblem.</doc>
<type name="Emblem" c:type="GEmblem*"/>
</constructor>
<method name="get_icon" c:identifier="g_emblem_get_icon" version="2.18">
<doc xml:space="preserve">Gives back the icon from @emblem.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIcon. The returned object belongs to
the emblem and should not be modified or freed.</doc>
</method>
<method name="get_origin" c:identifier="g_emblem_get_origin" version="2.18">
<doc xml:space="preserve">Gets the origin of the emblem.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the origin of the emblem</doc>
<type name="EmblemOrigin" c:type="GEmblemOrigin"/>
<type name="EmblemOrigin"/>
</property>
</class>
- <record name="EmblemClass" c:type="GEmblemClass" disguised="1" glib:is-gtype-struct-for="Emblem">
-
- </record>
+ <record name="EmblemClass" c:type="GEmblemClass" disguised="1" glib:is-gtype-struct-for="Emblem"/>
<enumeration name="EmblemOrigin" version="2.18" glib:type-name="GEmblemOrigin" glib:get-type="g_emblem_origin_get_type" c:type="GEmblemOrigin">
<doc xml:space="preserve">GEmblemOrigin is used to add information about the origin of the emblem
to #GEmblem.</doc>
Note that #GEmblemedIcon allows no control over the position
of the emblems. See also #GEmblem for more information.</doc>
-
<implements name="Icon"/>
<constructor name="new" c:identifier="g_emblemed_icon_new" version="2.18">
<doc xml:space="preserve">Creates a new emblemed icon for @icon with the emblem @emblem.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GIcon</doc>
<type name="EmblemedIcon" c:type="GIcon*"/>
</constructor>
<method name="add_emblem" c:identifier="g_emblemed_icon_add_emblem" version="2.18">
<doc xml:space="preserve">Adds @emblem to the #GList of #GEmblems.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="clear_emblems" c:identifier="g_emblemed_icon_clear_emblems" version="2.28">
<doc xml:space="preserve">Removes all the emblems from @icon.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_emblems" c:identifier="g_emblemed_icon_get_emblems" version="2.18">
<doc xml:space="preserve">Gets the list of emblems for the @icon.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GList of
#GEmblems that is owned by @emblemed</doc>
</method>
<method name="get_icon" c:identifier="g_emblemed_icon_get_icon" version="2.18">
<doc xml:space="preserve">Gets the main icon for @emblemed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIcon that is owned by @emblemed</doc>
<type name="Icon" c:type="GIcon*"/>
</field>
</class>
<record name="EmblemedIconClass" c:type="GEmblemedIconClass" glib:is-gtype-struct-for="EmblemedIcon">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
- <record name="EmblemedIconPrivate" c:type="GEmblemedIconPrivate" disguised="1">
-
- </record>
+ <record name="EmblemedIconPrivate" c:type="GEmblemedIconPrivate" disguised="1"/>
<function-macro name="FILE" c:identifier="G_FILE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILENAME_COMPLETER" c:identifier="G_FILENAME_COMPLETER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILENAME_COMPLETER_CLASS" c:identifier="G_FILENAME_COMPLETER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILENAME_COMPLETER_GET_CLASS" c:identifier="G_FILENAME_COMPLETER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
<doc xml:space="preserve">A key in the "access" namespace for checking deletion privileges.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
This attribute will be %TRUE if the user is able to delete the file.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE" value="access::can-execute" c:type="G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE">
<doc xml:space="preserve">A key in the "access" namespace for getting execution privileges.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
This attribute will be %TRUE if the user is able to execute the file.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ACCESS_CAN_READ" value="access::can-read" c:type="G_FILE_ATTRIBUTE_ACCESS_CAN_READ">
<doc xml:space="preserve">A key in the "access" namespace for getting read privileges.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
This attribute will be %TRUE if the user is able to read the file.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ACCESS_CAN_RENAME" value="access::can-rename" c:type="G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME">
<doc xml:space="preserve">A key in the "access" namespace for checking renaming privileges.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
This attribute will be %TRUE if the user is able to rename the file.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ACCESS_CAN_TRASH" value="access::can-trash" c:type="G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH">
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
This attribute will be %TRUE if the user is able to move the file to
the trash.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ACCESS_CAN_WRITE" value="access::can-write" c:type="G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE">
<doc xml:space="preserve">A key in the "access" namespace for getting write privileges.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
This attribute will be %TRUE if the user is able to write to the file.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_DOS_IS_ARCHIVE" value="dos::is-archive" c:type="G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE">
is set. This attribute is %TRUE if the archive flag is set. This attribute
is only available for DOS file systems. Corresponding #GFileAttributeType
is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT" value="dos::is-mountpoint" c:type="G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT" version="2.60">
[IO_REPARSE_TAG_MOUNT_POINT](https://msdn.microsoft.com/en-us/library/dd541667.aspx).
This attribute is only available for DOS file systems.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_DOS_IS_SYSTEM" value="dos::is-system" c:type="G_FILE_ATTRIBUTE_DOS_IS_SYSTEM">
is set. This attribute is %TRUE if the backup flag is set. This attribute
is only available for DOS file systems. Corresponding #GFileAttributeType
is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG" value="dos::reparse-point-tag" c:type="G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG" version="2.60">
See the [Reparse Tags](https://msdn.microsoft.com/en-us/library/dd541667.aspx)
page for possible reparse tag values. Corresponding #GFileAttributeType
is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ETAG_VALUE" value="etag::value" c:type="G_FILE_ATTRIBUTE_ETAG_VALUE">
<doc xml:space="preserve">A key in the "etag" namespace for getting the value of the file's
entity tag. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_FILESYSTEM_FREE" value="filesystem::free" c:type="G_FILE_ATTRIBUTE_FILESYSTEM_FREE">
<doc xml:space="preserve">A key in the "filesystem" namespace for getting the number of bytes of free space left on the
file system. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_FILESYSTEM_READONLY" value="filesystem::readonly" c:type="G_FILE_ATTRIBUTE_FILESYSTEM_READONLY">
<doc xml:space="preserve">A key in the "filesystem" namespace for checking if the file system
is read only. Is set to %TRUE if the file system is read only.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_FILESYSTEM_REMOTE" value="filesystem::remote" c:type="G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE">
<doc xml:space="preserve">A key in the "filesystem" namespace for checking if the file system
is remote. Is set to %TRUE if the file system is remote.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_FILESYSTEM_SIZE" value="filesystem::size" c:type="G_FILE_ATTRIBUTE_FILESYSTEM_SIZE">
<doc xml:space="preserve">A key in the "filesystem" namespace for getting the total size (in bytes) of the file system,
used in g_file_query_filesystem_info(). Corresponding #GFileAttributeType
is %G_FILE_ATTRIBUTE_TYPE_UINT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_FILESYSTEM_TYPE" value="filesystem::type" c:type="G_FILE_ATTRIBUTE_FILESYSTEM_TYPE">
<doc xml:space="preserve">A key in the "filesystem" namespace for getting the file system's type.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_FILESYSTEM_USED" value="filesystem::used" c:type="G_FILE_ATTRIBUTE_FILESYSTEM_USED" version="2.32">
<doc xml:space="preserve">A key in the "filesystem" namespace for getting the number of bytes of used on the
file system. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW" value="filesystem::use-preview" c:type="G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW">
application whether it should preview (e.g. thumbnail) files on the
file system. The value for this key contain a
#GFilesystemPreviewType.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_GVFS_BACKEND" value="gvfs::backend" c:type="G_FILE_ATTRIBUTE_GVFS_BACKEND">
<doc xml:space="preserve">A key in the "gvfs" namespace that gets the name of the current
GVFS backend in use. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ID_FILE" value="id::file" c:type="G_FILE_ATTRIBUTE_ID_FILE">
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
An example use would be during listing files, to avoid recursive
directory scanning.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_ID_FILESYSTEM" value="id::filesystem" c:type="G_FILE_ATTRIBUTE_ID_FILESYSTEM">
An example use would be during drag and drop to see if the source
and target are on the same filesystem (default to move) or not (default
to copy).</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT" value="mountable::can-eject" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be ejected.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT" value="mountable::can-mount" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is mountable.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL" value="mountable::can-poll" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL" version="2.22">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be polled.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_CAN_START" value="mountable::can-start" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START" version="2.22">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED" value="mountable::can-start-degraded" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED" version="2.22">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started
degraded.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP" value="mountable::can-stop" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP" version="2.22">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be stopped.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT" value="mountable::can-unmount" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is unmountable.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI" value="mountable::hal-udi" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI">
<doc xml:space="preserve">A key in the "mountable" namespace for getting the HAL UDI for the mountable
file. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC" value="mountable::is-media-check-automatic" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC" version="2.22">
<doc xml:space="preserve">A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE)
is automatically polled for media.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE" value="mountable::start-stop-type" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE" version="2.22">
<doc xml:space="preserve">A key in the "mountable" namespace for getting the #GDriveStartStopType.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE" value="mountable::unix-device" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE">
<doc xml:space="preserve">A key in the "mountable" namespace for getting the unix device.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE" value="mountable::unix-device-file" c:type="G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE" version="2.22">
<doc xml:space="preserve">A key in the "mountable" namespace for getting the unix device file.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_OWNER_GROUP" value="owner::group" c:type="G_FILE_ATTRIBUTE_OWNER_GROUP">
<doc xml:space="preserve">A key in the "owner" namespace for getting the file owner's group.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_OWNER_USER" value="owner::user" c:type="G_FILE_ATTRIBUTE_OWNER_USER">
<doc xml:space="preserve">A key in the "owner" namespace for getting the user name of the
file's owner. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_OWNER_USER_REAL" value="owner::user-real" c:type="G_FILE_ATTRIBUTE_OWNER_USER_REAL">
<doc xml:space="preserve">A key in the "owner" namespace for getting the real name of the
user that owns the file. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_PREVIEW_ICON" value="preview::icon" c:type="G_FILE_ATTRIBUTE_PREVIEW_ICON" version="2.20">
resolution thumbnail without metadata. Corresponding
#GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. The value
for this key should contain a #GIcon.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_RECENT_MODIFIED" value="recent::modified" c:type="G_FILE_ATTRIBUTE_RECENT_MODIFIED" version="2.52">
<doc xml:space="preserve">A key in the "recent" namespace for getting time, when the metadata for the
file in `recent:///` was last changed. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_INT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_SELINUX_CONTEXT" value="selinux::context" c:type="G_FILE_ATTRIBUTE_SELINUX_CONTEXT">
context. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_STRING. Note that this attribute is only
available if GLib has been built with SELinux support.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE" value="standard::allocated-size" c:type="G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE" version="2.20">
than the file size (due to block size overhead) but can occasionally be
smaller (for example, for sparse files).
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE" value="standard::content-type" c:type="G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE">
<doc xml:space="preserve">A key in the "standard" namespace for getting the content type of the file.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
The value for this key should contain a valid content type.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_COPY_NAME" value="standard::copy-name" c:type="G_FILE_ATTRIBUTE_STANDARD_COPY_NAME">
encoding selected for the filesystem it is in then the copy name will not be set.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_DESCRIPTION" value="standard::description" c:type="G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION">
when displaying a directory or for a bookmarks menu.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME" value="standard::display-name" c:type="G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME">
A display name is guaranteed to be in UTF-8 and can thus be displayed in
the UI. It is guaranteed to be set on every file.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_EDIT_NAME" value="standard::edit-name" c:type="G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME">
"(invalid unicode)" if the filename was in an invalid encoding).
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE" value="standard::fast-content-type" c:type="G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE">
only uses the filename to guess it, but it is faster to calculate than the
regular content type.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_ICON" value="standard::icon" c:type="G_FILE_ATTRIBUTE_STANDARD_ICON">
<doc xml:space="preserve">A key in the "standard" namespace for getting the icon for the file.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
The value for this key should contain a #GIcon.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_IS_BACKUP" value="standard::is-backup" c:type="G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP">
<doc xml:space="preserve">A key in the "standard" namespace for checking if a file is a backup file.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_IS_HIDDEN" value="standard::is-hidden" c:type="G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN">
<doc xml:space="preserve">A key in the "standard" namespace for checking if a file is hidden.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_IS_SYMLINK" value="standard::is-symlink" c:type="G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK">
to get the type.
On Windows NTFS mountpoints are considered to be symlinks as well.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL" value="standard::is-virtual" c:type="G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL">
<doc xml:space="preserve">A key in the "standard" namespace for checking if a file is virtual.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_IS_VOLATILE" value="standard::is-volatile" c:type="G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE" version="2.46">
at #G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_NAME" value="standard::name" c:type="G_FILE_ATTRIBUTE_STANDARD_NAME">
Use #G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the
name in a user interface.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_SIZE" value="standard::size" c:type="G_FILE_ATTRIBUTE_STANDARD_SIZE">
<doc xml:space="preserve">A key in the "standard" namespace for getting the file's size (in bytes).
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_SORT_ORDER" value="standard::sort-order" c:type="G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER">
to set the order files are displayed. Files with smaller sort order
should be sorted first, and files without sort order as if sort order
was zero.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON" value="standard::symbolic-icon" c:type="G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON" version="2.34">
<doc xml:space="preserve">A key in the "standard" namespace for getting the symbolic icon for the file.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
The value for this key should contain a #GIcon.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET" value="standard::symlink-target" c:type="G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET">
<doc xml:space="preserve">A key in the "standard" namespace for getting the symlink target, if the file
is a symlink. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_TARGET_URI" value="standard::target-uri" c:type="G_FILE_ATTRIBUTE_STANDARD_TARGET_URI">
<doc xml:space="preserve">A key in the "standard" namespace for getting the target URI for the file, in
the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_STANDARD_TYPE" value="standard::type" c:type="G_FILE_ATTRIBUTE_STANDARD_TYPE">
<doc xml:space="preserve">A key in the "standard" namespace for storing file types.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
The value for this key should contain a #GFileType.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_THUMBNAILING_FAILED" value="thumbnail::failed" c:type="G_FILE_ATTRIBUTE_THUMBNAILING_FAILED">
<doc xml:space="preserve">A key in the "thumbnail" namespace for checking if thumbnailing failed.
This attribute is %TRUE if thumbnailing failed. Corresponding
#GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_THUMBNAIL_IS_VALID" value="thumbnail::is-valid" c:type="G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID" version="2.40">
it indicates that thumbnailing may be attempted again and may succeed.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_THUMBNAIL_PATH" value="thumbnail::path" c:type="G_FILE_ATTRIBUTE_THUMBNAIL_PATH">
<doc xml:space="preserve">A key in the "thumbnail" namespace for getting the path to the thumbnail
image. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_ACCESS" value="time::access" c:type="G_FILE_ATTRIBUTE_TIME_ACCESS">
accessed. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the
file was last accessed, in seconds since the UNIX epoch.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_ACCESS_USEC" value="time::access-usec" c:type="G_FILE_ATTRIBUTE_TIME_ACCESS_USEC">
the file was last accessed. This should be used in conjunction with
#G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_CHANGED" value="time::changed" c:type="G_FILE_ATTRIBUTE_TIME_CHANGED">
UNIX epoch.
This corresponds to the traditional UNIX ctime.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_CHANGED_USEC" value="time::changed-usec" c:type="G_FILE_ATTRIBUTE_TIME_CHANGED_USEC">
the file was last changed. This should be used in conjunction with
#G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_CREATED" value="time::created" c:type="G_FILE_ATTRIBUTE_TIME_CREATED">
This may correspond to Linux stx_btime, FreeBSD st_birthtim, NetBSD
st_birthtime or NTFS ctime.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_CREATED_USEC" value="time::created-usec" c:type="G_FILE_ATTRIBUTE_TIME_CREATED_USEC">
the file was created. This should be used in conjunction with
#G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_MODIFIED" value="time::modified" c:type="G_FILE_ATTRIBUTE_TIME_MODIFIED">
modified. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the
file was modified, in seconds since the UNIX epoch.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TIME_MODIFIED_USEC" value="time::modified-usec" c:type="G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC">
the file was last modified. This should be used in conjunction with
#G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TRASH_DELETION_DATE" value="trash::deletion-date" c:type="G_FILE_ATTRIBUTE_TRASH_DELETION_DATE" version="2.24">
items in `trash:///`, will return the date and time when the file
was trashed. The format of the returned string is YYYY-MM-DDThh:mm:ss.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TRASH_ITEM_COUNT" value="trash::item-count" c:type="G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT">
<doc xml:space="preserve">A key in the "trash" namespace. When requested against
`trash:///` returns the number of (toplevel) items in the trash folder.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_TRASH_ORIG_PATH" value="trash::orig-path" c:type="G_FILE_ATTRIBUTE_TRASH_ORIG_PATH" version="2.24">
items in `trash:///`, will return the original path to the file before it
was trashed. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_BLOCKS" value="unix::blocks" c:type="G_FILE_ATTRIBUTE_UNIX_BLOCKS">
<doc xml:space="preserve">A key in the "unix" namespace for getting the number of blocks allocated
for the file. This attribute is only available for UNIX file systems.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_BLOCK_SIZE" value="unix::block-size" c:type="G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE">
<doc xml:space="preserve">A key in the "unix" namespace for getting the block size for the file
system. This attribute is only available for UNIX file systems.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_DEVICE" value="unix::device" c:type="G_FILE_ATTRIBUTE_UNIX_DEVICE">
file is located on (see stat() documentation). This attribute is only
available for UNIX file systems. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_GID" value="unix::gid" c:type="G_FILE_ATTRIBUTE_UNIX_GID">
<doc xml:space="preserve">A key in the "unix" namespace for getting the group ID for the file.
This attribute is only available for UNIX file systems.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_INODE" value="unix::inode" c:type="G_FILE_ATTRIBUTE_UNIX_INODE">
<doc xml:space="preserve">A key in the "unix" namespace for getting the inode of the file.
This attribute is only available for UNIX file systems. Corresponding
#GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT" value="unix::is-mountpoint" c:type="G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT">
point. Since 2.58, `/` is considered to be a mount point.
This attribute is only available for UNIX file systems.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_MODE" value="unix::mode" c:type="G_FILE_ATTRIBUTE_UNIX_MODE">
member of `struct stat`, and includes both the file type and permissions.
This attribute is only available for UNIX file systems.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_NLINK" value="unix::nlink" c:type="G_FILE_ATTRIBUTE_UNIX_NLINK">
for a file. See lstat() documentation. This attribute is only available
for UNIX file systems. Corresponding #GFileAttributeType is
%G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_RDEV" value="unix::rdev" c:type="G_FILE_ATTRIBUTE_UNIX_RDEV">
(if it is a special file). See lstat() documentation. This attribute
is only available for UNIX file systems. Corresponding #GFileAttributeType
is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="FILE_ATTRIBUTE_UNIX_UID" value="unix::uid" c:type="G_FILE_ATTRIBUTE_UNIX_UID">
<doc xml:space="preserve">A key in the "unix" namespace for getting the user ID for the file.
This attribute is only available for UNIX file systems.
Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="FILE_DESCRIPTOR_BASED" c:identifier="G_FILE_DESCRIPTOR_BASED" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_DESCRIPTOR_BASED_GET_IFACE" c:identifier="G_FILE_DESCRIPTOR_BASED_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_ENUMERATOR" c:identifier="G_FILE_ENUMERATOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_ENUMERATOR_CLASS" c:identifier="G_FILE_ENUMERATOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_ENUMERATOR_GET_CLASS" c:identifier="G_FILE_ENUMERATOR_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_GET_IFACE" c:identifier="G_FILE_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_ICON" c:identifier="G_FILE_ICON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_ICON_CLASS" c:identifier="G_FILE_ICON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_ICON_GET_CLASS" c:identifier="G_FILE_ICON_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_INFO" c:identifier="G_FILE_INFO" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_INFO_CLASS" c:identifier="G_FILE_INFO_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_INFO_GET_CLASS" c:identifier="G_FILE_INFO_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_INPUT_STREAM" c:identifier="G_FILE_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_INPUT_STREAM_CLASS" c:identifier="G_FILE_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_INPUT_STREAM_GET_CLASS" c:identifier="G_FILE_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_IO_STREAM" c:identifier="G_FILE_IO_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_IO_STREAM_CLASS" c:identifier="G_FILE_IO_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_IO_STREAM_GET_CLASS" c:identifier="G_FILE_IO_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_MONITOR" c:identifier="G_FILE_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_MONITOR_CLASS" c:identifier="G_FILE_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_MONITOR_GET_CLASS" c:identifier="G_FILE_MONITOR_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_OUTPUT_STREAM" c:identifier="G_FILE_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_OUTPUT_STREAM_CLASS" c:identifier="G_FILE_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILE_OUTPUT_STREAM_GET_CLASS" c:identifier="G_FILE_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILTER_INPUT_STREAM" c:identifier="G_FILTER_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILTER_INPUT_STREAM_CLASS" c:identifier="G_FILTER_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILTER_INPUT_STREAM_GET_CLASS" c:identifier="G_FILTER_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILTER_OUTPUT_STREAM" c:identifier="G_FILTER_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILTER_OUTPUT_STREAM_CLASS" c:identifier="G_FILTER_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="FILTER_OUTPUT_STREAM_GET_CLASS" c:identifier="G_FILTER_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
HTTP 1.1
[specification](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)
for HTTP Etag headers, which are a very similar concept.</doc>
-
<function name="new_build_filename" c:identifier="g_file_new_build_filename" version="2.56" introspectable="0">
<doc xml:space="preserve">Constructs a #GFile from a series of elements using the correct
separator for filenames.
Using this function is equivalent to calling g_build_filename(),
followed by g_file_new_for_path() on the result.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile</doc>
<type name="File" c:type="GFile*"/>
g_application_command_line_create_file_for_arg() may be more useful
for you there. It is also always possible to use this function with
#GOptionContext arguments of type %G_OPTION_ARG_FILENAME.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile.
Free the returned object with g_object_unref().</doc>
other than the invocation of the current process.
See also g_application_command_line_create_file_for_arg().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile</doc>
<type name="File" c:type="GFile*"/>
<doc xml:space="preserve">Constructs a #GFile for a given path. This operation never
fails, but the returned object might not support any I/O
operation if @path is malformed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile for the given @path.
Free the returned object with g_object_unref().</doc>
fails, but the returned object might not support any I/O
operation if @uri is malformed or if the uri type is
not supported.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile for the given @uri.
Free the returned object with g_object_unref().</doc>
Unlike the other #GFile constructors, this will return %NULL if
a temporary file could not be created.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile.
Free the returned object with g_object_unref().</doc>
given by g_file_get_parse_name()). This operation never fails,
but the returned object might not support any I/O operation if
the @parse_name cannot be parsed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile.</doc>
<type name="File" c:type="GFile*"/>
%G_IO_ERROR_INVALID_FILENAME error. If the file is a directory the
%G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are
possible too, and depend on what kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_append_to_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="append_to_finish" invoker="append_to_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file append operation started with
g_file_append_to_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a valid #GFileOutputStream
or %NULL on error.
If you are interested in copying the #GFile object itself (not the on-disk
file), see g_file_dup().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called. You can then call
g_file_copy_finish() to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="copy_finish" invoker="copy_finish" throws="1">
<doc xml:space="preserve">Finishes copying the file started with g_file_copy_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
error, and if the name is to long %G_IO_ERROR_FILENAME_TOO_LONG will
be returned. Other errors are possible too, and depend on what kind
of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream for the newly created
file, or %NULL on error.
When the operation is finished, @callback will be called.
You can then call g_file_create_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="create_finish" invoker="create_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file create operation started with
g_file_create_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
Note that in many non-local file cases read and write streams are
not supported, so make sure you really need to do read and write
streaming, rather than just opening for reading or writing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream for the newly created
file, or %NULL on error.
When the operation is finished, @callback will be called.
You can then call g_file_create_readwrite_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="create_readwrite_finish" invoker="create_readwrite_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file create operation started with
g_file_create_readwrite_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was deleted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Asynchronously delete a file. If the @file is a directory, it will
only be deleted if it is empty. This has the same semantics as
g_unlink().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="delete_file_finish" invoker="delete_finish" version="2.34" throws="1">
<doc xml:space="preserve">Finishes deleting a file started with g_file_delete_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was deleted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
reference count.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile that is a duplicate
of the given #GFile.</doc>
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_file_eject_mountable_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_file_eject_mountable().</doc>
<doc-deprecated xml:space="preserve">Use g_file_eject_mountable_with_operation_finish()
instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file was ejected successfully.
%FALSE otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="eject_mountable_with_operation_finish" invoker="eject_mountable_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous eject operation started by
g_file_eject_mountable_with_operation().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file was ejected successfully.
%FALSE otherwise.</doc>
If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will
be returned. If the file is not a directory, the %G_IO_ERROR_NOT_DIRECTORY
error will be returned. Other errors are possible too.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileEnumerator if successful,
%NULL on error. Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called. You can
then call g_file_enumerate_children_finish() to get the result of
the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="enumerate_children_finish" invoker="enumerate_children_finish" throws="1">
<doc xml:space="preserve">Finishes an async enumerate children operation.
See g_file_enumerate_children_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileEnumerator or %NULL
if an error occurred.
aliasing.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file1 and @file2 are equal.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GMount where the @file is located
or %NULL on error.
When the operation is finished, @callback will be called.
You can then call g_file_find_enclosing_mount_finish() to
get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="find_enclosing_mount_finish" invoker="find_enclosing_mount_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous find mount request.
See g_file_find_enclosing_mount_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GMount for given @file or %NULL on error.
Free the returned object with g_object_unref().</doc>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="get_basename">
-
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
+ <virtual-method name="get_basename" invoker="get_basename">
+ <doc xml:space="preserve">Gets the base name (the last component of the path) for a given #GFile.
+
+If called for the top level of a system (such as the filesystem root
+or a uri like sftp://host/) it will return a single directory separator
+(and on Windows, possibly a drive letter).
+
+The base name is a byte string (not UTF-8). It has no defined encoding
+or rules other than it may not contain zero bytes. If you want to use
+filenames in a user interface you should use the display name that you
+can get by requesting the %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME
+attribute with g_file_query_info().
+
+This call does no blocking I/O.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">string containing the #GFile's
+ base name, or %NULL if given #GFile is invalid. The returned string
+ should be freed with g_free() when no longer needed.</doc>
+ <type name="filename" c:type="char*"/>
</return-value>
<parameters>
<instance-parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</instance-parameter>
</parameters>
type a filename in the file selector.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile to the specified child, or
%NULL if the display name couldn't be converted.
file system, then %NULL will be returned.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GFile structure to the
parent of the given #GFile or %NULL if there is no parent. Free
(a form of URI that allows UTF-8 characters unescaped).
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string containing the #GFile's parse name.
The returned string should be freed with g_free()
</instance-parameter>
</parameters>
</virtual-method>
- <virtual-method name="get_path">
-
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
+ <virtual-method name="get_path" invoker="get_path">
+ <doc xml:space="preserve">Gets the local pathname for #GFile, if one exists. If non-%NULL, this is
+guaranteed to be an absolute, canonical path. It might contain symlinks.
+
+This call does no blocking I/O.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">string containing the #GFile's path,
+ or %NULL if no such path exists. The returned string should be freed
+ with g_free() when no longer needed.</doc>
+ <type name="filename" c:type="char*"/>
</return-value>
<parameters>
<instance-parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</instance-parameter>
</parameters>
</virtual-method>
- <virtual-method name="get_relative_path">
-
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
+ <virtual-method name="get_relative_path" invoker="get_relative_path">
+ <doc xml:space="preserve">Gets the path for @descendant relative to @parent.
+
+This call does no blocking I/O.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">string with the relative path from
+ @descendant to @parent, or %NULL if @descendant doesn't have @parent as
+ prefix. The returned string should be freed with g_free() when
+ no longer needed.</doc>
+ <type name="filename" c:type="char*"/>
</return-value>
<parameters>
<instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</instance-parameter>
<parameter name="descendant" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</parameter>
</parameters>
<doc xml:space="preserve">Gets the URI for the @file.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a string containing the #GFile's URI.
+ <doc xml:space="preserve">a string containing the #GFile's URI. If the #GFile was constructed
+ with an invalid URI, an invalid URI is returned.
The returned string should be freed with g_free()
when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
]|
Common schemes include "file", "http", "ftp", etc.
+The scheme can be different from the one used to construct the #GFile,
+in that it might be replaced with one that is logically equivalent to the #GFile.
+
This call does no blocking I/O.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a string containing the URI scheme for the given
- #GFile. The returned string should be freed with g_free()
- when no longer needed.</doc>
+ #GFile or %NULL if the #GFile was constructed with an invalid URI. The
+ returned string should be freed with g_free() when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
<doc xml:space="preserve">Checks to see if a #GFile has a given URI scheme.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if #GFile's backend supports the
given URI scheme, %FALSE if URI scheme is %NULL,
<doc xml:space="preserve">Creates a hash value for a #GFile.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if @file is not a valid #GFile, otherwise an
integer that can be used as hash value for the #GFile.
will return %FALSE, but g_file_get_path() will still return a native path.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file is native</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful creation, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="make_directory_async" invoker="make_directory_async" version="2.38">
<doc xml:space="preserve">Asynchronously creates a directory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="make_directory_finish" invoker="make_directory_finish" version="2.38" throws="1">
<doc xml:space="preserve">Finishes an asynchronous directory creation, started with
g_file_make_directory_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful directory creation, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on the creation of a new symlink, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
periodic progress updates while scanning. See the documentation for
#GFileMeasureProgressCallback for information about when and how the
callback will be invoked.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, with the out parameters set.
%FALSE otherwise, with @error set.</doc>
This is the asynchronous version of g_file_measure_disk_usage(). See
there for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Collects the results from an earlier call to
g_file_measure_disk_usage_async(). See g_file_measure_disk_usage() for
more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, with the out parameters set.
%FALSE otherwise, with @error set.</doc>
directories. It is not possible to monitor all the files in a
directory for changes made via hard links; if you want to do this then
you must register individual watches with g_file_monitor().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileMonitor for the given @file,
or %NULL on error.
reported. Using this flag may result in an increase in resource
usage, and may not have any effect depending on the #GFileMonitor
backend and/or filesystem type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileMonitor for the given @file,
or %NULL on error.
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="mount_enclosing_volume_finish" invoker="mount_enclosing_volume_finish" throws="1">
<doc xml:space="preserve">Finishes a mount operation started by g_file_mount_enclosing_volume().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred,
this function will return %FALSE and set @error
When the operation is finished, @callback will be called.
You can then call g_file_mount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous mount operation that was started
with g_file_mount_mountable().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile or %NULL on error.
Free the returned object with g_object_unref().</doc>
#G_FILE_COPY_OVERWRITE is specified and the target is a file, then
the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native
move operation isn't available).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful move, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
file cases read and write streams are not supported, so make sure you
really need to do read and write streaming, rather than just opening
for reading or writing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_open_readwrite_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="open_readwrite_finish" invoker="open_readwrite_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file read operation started with
g_file_open_readwrite_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_mount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous poll operation that was polled
with g_file_poll_mountable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully. %FALSE
otherwise.</doc>
sometimes return %FALSE even if @file is inside a @prefix (from a
filesystem point of view), because the prefix of @file is an alias
of @prefix.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file's parent, grandparent, etc is @prefix,
%FALSE otherwise.</doc>
If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will
be returned. Other errors are possible too, and depend on what
kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo or %NULL if there was an error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called. You can
then call g_file_query_info_finish() to get the result of the
operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="query_filesystem_info_finish" invoker="query_filesystem_info_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous filesystem info query.
See g_file_query_filesystem_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo for given @file
or %NULL on error.
If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will be
returned. Other errors are possible too, and depend on what kind of
filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the given @file, or %NULL
on error. Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called. You can
then call g_file_query_info_finish() to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="query_info_finish" invoker="query_info_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file info query.
See g_file_query_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo for given @file
or %NULL on error. Free the returned object with
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeInfoList describing the settable attributes.
When you are done with it, release it with
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeInfoList describing the writable namespaces.
When you are done with it, release it with
When the operation is finished, @callback will be called.
You can then call g_file_read_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="read_finish" invoker="read_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file read operation started with
g_file_read_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
returned. If the file is a directory, the %G_IO_ERROR_IS_DIRECTORY
error will be returned. Other errors are possible too, and depend
on what kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
%G_IO_ERROR_INVALID_FILENAME error, and if the name is to long
%G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are
possible too, and depend on what kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_replace_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="replace_finish" invoker="replace_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file replace operation started with
g_file_replace_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
Note that in many non-local file cases read and write streams are not
supported, so make sure you really need to do read and write streaming,
rather than just opening for reading or writing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_replace_readwrite_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="replace_readwrite_finish" invoker="replace_readwrite_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file replace operation started with
g_file_replace_readwrite_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
<doc xml:space="preserve">Resolves a relative path for @file to an absolute path.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFile to the resolved path.
%NULL if @relative_path is %NULL or if @file is invalid.
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the attribute was set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called.
You can then call g_file_set_attributes_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="set_attributes_finish" invoker="set_attributes_finish" throws="1">
<doc xml:space="preserve">Finishes setting an attribute started in g_file_set_attributes_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the attributes were set correctly, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if there was any error, %TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile specifying what @file was renamed to,
or %NULL if there was an error.
When the operation is finished, @callback will be called.
You can then call g_file_set_display_name_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="set_display_name_finish" invoker="set_display_name_finish" throws="1">
<doc xml:space="preserve">Finishes setting a display name started with
g_file_set_display_name_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_mount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous start operation that was started
with g_file_start_mountable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully. %FALSE
otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_file_stop_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous stop operation that was started
with g_file_stop_mountable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful trash, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="trash_async" invoker="trash_async" version="2.38">
<doc xml:space="preserve">Asynchronously sends @file to the Trash location, if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="trash_finish" invoker="trash_finish" version="2.38" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file trashing operation, started with
g_file_trash_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful trash, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
You can then call g_file_unmount_mountable_finish() to get
the result of the operation.</doc>
<doc-deprecated xml:space="preserve">Use g_file_unmount_mountable_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
with g_file_unmount_mountable().</doc>
<doc-deprecated xml:space="preserve">Use g_file_unmount_mountable_with_operation_finish()
instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_file_unmount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous unmount operation that was started
with g_file_unmount_mountable_with_operation().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
%G_IO_ERROR_INVALID_FILENAME error. If the file is a directory the
%G_IO_ERROR_IS_DIRECTORY error will be returned. Other errors are
possible too, and depend on what kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_append_to_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="append_to_finish" c:identifier="g_file_append_to_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file append operation started with
g_file_append_to_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a valid #GFileOutputStream
or %NULL on error.
If you are interested in copying the #GFile object itself (not the on-disk
file), see g_file_dup().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called. You can then call
g_file_copy_finish() to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
if #G_FILE_COPY_ALL_METADATA is specified in @flags, then
all the metadata that is possible to copy is copied. This
is useful when implementing move by copy + delete source.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the attributes were copied successfully,
%FALSE otherwise.</doc>
</method>
<method name="copy_finish" c:identifier="g_file_copy_finish" throws="1">
<doc xml:space="preserve">Finishes copying the file started with g_file_copy_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
error, and if the name is to long %G_IO_ERROR_FILENAME_TOO_LONG will
be returned. Other errors are possible too, and depend on what kind
of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream for the newly created
file, or %NULL on error.
When the operation is finished, @callback will be called.
You can then call g_file_create_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="create_finish" c:identifier="g_file_create_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file create operation started with
g_file_create_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
Note that in many non-local file cases read and write streams are
not supported, so make sure you really need to do read and write
streaming, rather than just opening for reading or writing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream for the newly created
file, or %NULL on error.
When the operation is finished, @callback will be called.
You can then call g_file_create_readwrite_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="create_readwrite_finish" c:identifier="g_file_create_readwrite_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file create operation started with
g_file_create_readwrite_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was deleted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Asynchronously delete a file. If the @file is a directory, it will
only be deleted if it is empty. This has the same semantics as
g_unlink().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="delete_finish" c:identifier="g_file_delete_finish" version="2.34" throws="1">
<doc xml:space="preserve">Finishes deleting a file started with g_file_delete_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was deleted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
reference count.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile that is a duplicate
of the given #GFile.</doc>
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_file_eject_mountable_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_file_eject_mountable().</doc>
<doc-deprecated xml:space="preserve">Use g_file_eject_mountable_with_operation_finish()
instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file was ejected successfully.
%FALSE otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="eject_mountable_with_operation_finish" c:identifier="g_file_eject_mountable_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous eject operation started by
g_file_eject_mountable_with_operation().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file was ejected successfully.
%FALSE otherwise.</doc>
If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will
be returned. If the file is not a directory, the %G_IO_ERROR_NOT_DIRECTORY
error will be returned. Other errors are possible too.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileEnumerator if successful,
%NULL on error. Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called. You can
then call g_file_enumerate_children_finish() to get the result of
the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="enumerate_children_finish" c:identifier="g_file_enumerate_children_finish" throws="1">
<doc xml:space="preserve">Finishes an async enumerate children operation.
See g_file_enumerate_children_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileEnumerator or %NULL
if an error occurred.
aliasing.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file1 and @file2 are equal.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GMount where the @file is located
or %NULL on error.
When the operation is finished, @callback will be called.
You can then call g_file_find_enclosing_mount_finish() to
get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="find_enclosing_mount_finish" c:identifier="g_file_find_enclosing_mount_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous find mount request.
See g_file_find_enclosing_mount_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GMount for given @file or %NULL on error.
Free the returned object with g_object_unref().</doc>
attribute with g_file_query_info().
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">string containing the #GFile's
base name, or %NULL if given #GFile is invalid. The returned string
for instance to create that file.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile to a child specified by @name.
Free the returned object with g_object_unref().</doc>
type a filename in the file selector.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile to the specified child, or
%NULL if the display name couldn't be converted.
file system, then %NULL will be returned.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GFile structure to the
parent of the given #GFile or %NULL if there is no parent. Free
(a form of URI that allows UTF-8 characters unescaped).
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string containing the #GFile's parse name.
The returned string should be freed with g_free()
guaranteed to be an absolute, canonical path. It might contain symlinks.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">string containing the #GFile's path,
or %NULL if no such path exists. The returned string should be freed
<doc xml:space="preserve">Gets the path for @descendant relative to @parent.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">string with the relative path from
@descendant to @parent, or %NULL if @descendant doesn't have @parent as
<doc xml:space="preserve">Gets the URI for the @file.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a string containing the #GFile's URI.
+ <doc xml:space="preserve">a string containing the #GFile's URI. If the #GFile was constructed
+ with an invalid URI, an invalid URI is returned.
The returned string should be freed with g_free()
when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
]|
Common schemes include "file", "http", "ftp", etc.
+The scheme can be different from the one used to construct the #GFile,
+in that it might be replaced with one that is logically equivalent to the #GFile.
+
This call does no blocking I/O.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a string containing the URI scheme for the given
- #GFile. The returned string should be freed with g_free()
- when no longer needed.</doc>
+ #GFile or %NULL if the #GFile was constructed with an invalid URI. The
+ returned string should be freed with g_free() when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
If @parent is %NULL then this function returns %TRUE if @file has any
parent at all. If @parent is non-%NULL then %TRUE is only returned
if @file is an immediate child of @parent.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file is an immediate child of @parent (or any parent in
the case that @parent is %NULL).</doc>
sometimes return %FALSE even if @file is inside a @prefix (from a
filesystem point of view), because the prefix of @file is an alias
of @prefix.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file's parent, grandparent, etc is @prefix,
%FALSE otherwise.</doc>
<doc xml:space="preserve">Checks to see if a #GFile has a given URI scheme.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if #GFile's backend supports the
given URI scheme, %FALSE if URI scheme is %NULL,
<doc xml:space="preserve">Creates a hash value for a #GFile.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if @file is not a valid #GFile, otherwise an
integer that can be used as hash value for the #GFile.
will return %FALSE, but g_file_get_path() will still return a native path.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file is native</doc>
<type name="gboolean" c:type="gboolean"/>
The data contained in the resulting #GBytes is always zero-terminated, but
this is not included in the #GBytes length. The resulting #GBytes should be
freed with g_bytes_unref() when no longer in use.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GBytes or %NULL and @error is set</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
asynchronous operation.
See g_file_load_bytes() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
freed with g_bytes_unref() when no longer in use.
See g_file_load_bytes() for more information.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GBytes or %NULL and @error is set</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file's contents were successfully loaded.
%FALSE if there were errors.</doc>
or %NULL if the length is not needed</doc>
<type name="gsize" c:type="gsize*"/>
</parameter>
- <parameter name="etag_out" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <parameter name="etag_out" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
<doc xml:space="preserve">a location to place the current entity tag for the file,
or %NULL if the entity tag is not needed</doc>
<type name="utf8" c:type="char**"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
size of the @contents string. The @contents should be freed with
g_free() when no longer needed. If @etag_out is present, it will be
set to the new entity tag for the @file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the load was successful. If %FALSE and @error is
present, it will be set appropriately.</doc>
or %NULL if the length is not needed</doc>
<type name="gsize" c:type="gsize*"/>
</parameter>
- <parameter name="etag_out" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <parameter name="etag_out" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
<doc xml:space="preserve">a location to place the current entity tag for the file,
or %NULL if the entity tag is not needed</doc>
<type name="utf8" c:type="char**"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
zero-terminated, but this is not included in the resultant @length.
The returned @contents should be freed with g_free() when no longer
needed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the load was successful. If %FALSE and @error is
present, it will be set appropriately.</doc>
or %NULL if the length is not needed</doc>
<type name="gsize" c:type="gsize*"/>
</parameter>
- <parameter name="etag_out" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <parameter name="etag_out" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
<doc xml:space="preserve">a location to place the current entity tag for the file,
or %NULL if the entity tag is not needed</doc>
<type name="utf8" c:type="char**"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful creation, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="make_directory_async" c:identifier="g_file_make_directory_async" version="2.38">
<doc xml:space="preserve">Asynchronously creates a directory.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="make_directory_finish" c:identifier="g_file_make_directory_finish" version="2.38" throws="1">
<doc xml:space="preserve">Finishes an asynchronous directory creation, started with
g_file_make_directory_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful directory creation, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if all directories have been successfully created, %FALSE
otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on the creation of a new symlink, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
periodic progress updates while scanning. See the documentation for
#GFileMeasureProgressCallback for information about when and how the
callback will be invoked.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, with the out parameters set.
%FALSE otherwise, with @error set.</doc>
This is the asynchronous version of g_file_measure_disk_usage(). See
there for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Collects the results from an earlier call to
g_file_measure_disk_usage_async(). See g_file_measure_disk_usage() for
more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, with the out parameters set.
%FALSE otherwise, with @error set.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileMonitor for the given @file,
or %NULL on error.
directories. It is not possible to monitor all the files in a
directory for changes made via hard links; if you want to do this then
you must register individual watches with g_file_monitor().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileMonitor for the given @file,
or %NULL on error.
reported. Using this flag may result in an increase in resource
usage, and may not have any effect depending on the #GFileMonitor
backend and/or filesystem type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileMonitor for the given @file,
or %NULL on error.
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="mount_enclosing_volume_finish" c:identifier="g_file_mount_enclosing_volume_finish" throws="1">
<doc xml:space="preserve">Finishes a mount operation started by g_file_mount_enclosing_volume().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred,
this function will return %FALSE and set @error
When the operation is finished, @callback will be called.
You can then call g_file_mount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous mount operation that was started
with g_file_mount_mountable().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile or %NULL on error.
Free the returned object with g_object_unref().</doc>
#G_FILE_COPY_OVERWRITE is specified and the target is a file, then
the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native
move operation isn't available).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful move, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
file cases read and write streams are not supported, so make sure you
really need to do read and write streaming, rather than just opening
for reading or writing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_open_readwrite_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="open_readwrite_finish" c:identifier="g_file_open_readwrite_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file read operation started with
g_file_open_readwrite_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
generally more efficient.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">string containing the #GFile's path,
or %NULL if no such path exists. The returned string is owned by @file.</doc>
When the operation is finished, @callback will be called.
You can then call g_file_mount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous poll operation that was polled
with g_file_poll_mountable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully. %FALSE
otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GAppInfo if the handle was found,
%NULL if there were errors.
</method>
<method name="query_default_handler_async" c:identifier="g_file_query_default_handler_async" version="2.60">
<doc xml:space="preserve">Async version of g_file_query_default_handler().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="query_default_handler_finish" c:identifier="g_file_query_default_handler_finish" version="2.60" throws="1">
<doc xml:space="preserve">Finishes a g_file_query_default_handler_async() operation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GAppInfo if the handle was found,
%NULL if there were errors.
have to fool users that something is possible and then just show an error
dialog. If you do this, you should make sure to also handle the errors
that can happen due to races when you execute the operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file exists (and can be detected without error),
%FALSE otherwise (or if cancelled).</doc>
The primary use case of this method is to check if a file is
a regular file, directory, or symlink.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The #GFileType of the file and #G_FILE_TYPE_UNKNOWN
if the file does not exist</doc>
If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will
be returned. Other errors are possible too, and depend on what
kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo or %NULL if there was an error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called. You can
then call g_file_query_info_finish() to get the result of the
operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="query_filesystem_info_finish" c:identifier="g_file_query_filesystem_info_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous filesystem info query.
See g_file_query_filesystem_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo for given @file
or %NULL on error.
If the file does not exist, the %G_IO_ERROR_NOT_FOUND error will be
returned. Other errors are possible too, and depend on what kind of
filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the given @file, or %NULL
on error. Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called. You can
then call g_file_query_info_finish() to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="query_info_finish" c:identifier="g_file_query_info_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file info query.
See g_file_query_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo for given @file
or %NULL on error. Free the returned object with
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeInfoList describing the settable attributes.
When you are done with it, release it with
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeInfoList describing the writable namespaces.
When you are done with it, release it with
returned. If the file is a directory, the %G_IO_ERROR_IS_DIRECTORY
error will be returned. Other errors are possible too, and depend
on what kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_read_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="read_finish" c:identifier="g_file_read_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file read operation started with
g_file_read_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
%G_IO_ERROR_INVALID_FILENAME error, and if the name is to long
%G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors are
possible too, and depend on what kind of filesystem the file is on.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_replace_finish() to get the result
of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The returned @new_etag can be used to verify that the file hasn't
changed the next time it is saved over.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred, this function
will return %FALSE and set @error appropriately if present.</doc>
<doc xml:space="preserve">a set of #GFileCreateFlags</doc>
<type name="FileCreateFlags" c:type="GFileCreateFlags"/>
</parameter>
- <parameter name="new_etag" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <parameter name="new_etag" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
<doc xml:space="preserve">a location to a new [entity tag][gfile-etag]
for the document. This should be freed with g_free() when no longer
needed, or %NULL</doc>
until @callback is called. See g_file_replace_contents_bytes_async()
for a #GBytes version that will automatically hold a reference to the
contents (without copying) for the duration of the call.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
When this operation has completed, @callback will be called with
@user_user data, and the operation can be finalized with
g_file_replace_contents_finish().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finishes an asynchronous replace of the given @file. See
g_file_replace_contents_async(). Sets @new_etag to the new entity
tag for the document, if present.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">a #GAsyncResult</doc>
<type name="AsyncResult" c:type="GAsyncResult*"/>
</parameter>
- <parameter name="new_etag" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <parameter name="new_etag" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
<doc xml:space="preserve">a location of a new [entity tag][gfile-etag]
for the document. This should be freed with g_free() when it is no
longer needed, or %NULL</doc>
<method name="replace_finish" c:identifier="g_file_replace_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file replace operation started with
g_file_replace_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
Note that in many non-local file cases read and write streams are not
supported, so make sure you really need to do read and write streaming,
rather than just opening for reading or writing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_replace_readwrite_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="replace_readwrite_finish" c:identifier="g_file_replace_readwrite_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file replace operation started with
g_file_replace_readwrite_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
<doc xml:space="preserve">Resolves a relative path for @file to an absolute path.
This call does no blocking I/O.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFile to the resolved path.
%NULL if @relative_path is %NULL or if @file is invalid.
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the attribute was set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @attribute was successfully set to @value
in the @file, %FALSE otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @attribute was successfully set to @value
in the @file, %FALSE otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @attribute was successfully set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @attribute was successfully set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @attribute was successfully set to @value
in the @file, %FALSE otherwise.</doc>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @attribute was successfully set to @value
in the @file, %FALSE otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_file_set_attributes_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_attributes_finish" c:identifier="g_file_set_attributes_finish" throws="1">
<doc xml:space="preserve">Finishes setting an attribute started in g_file_set_attributes_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the attributes were set correctly, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if there was any error, %TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile specifying what @file was renamed to,
or %NULL if there was an error.
When the operation is finished, @callback will be called.
You can then call g_file_set_display_name_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_display_name_finish" c:identifier="g_file_set_display_name_finish" throws="1">
<doc xml:space="preserve">Finishes setting a display name started with
g_file_set_display_name_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile or %NULL on error.
Free the returned object with g_object_unref().</doc>
When the operation is finished, @callback will be called.
You can then call g_file_mount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous start operation that was started
with g_file_start_mountable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully. %FALSE
otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_file_stop_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous stop operation that was started
with g_file_stop_mountable().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
[thread-default contexts][g-main-context-push-thread-default-context].
If this returns %FALSE, you cannot perform asynchronous operations on
@file in a thread that has a thread-default context.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Whether or not @file supports thread-default contexts.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful trash, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="trash_async" c:identifier="g_file_trash_async" version="2.38">
<doc xml:space="preserve">Asynchronously sends @file to the Trash location, if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="trash_finish" c:identifier="g_file_trash_finish" version="2.38" throws="1">
<doc xml:space="preserve">Finishes an asynchronous file trashing operation, started with
g_file_trash_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful trash, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
You can then call g_file_unmount_mountable_finish() to get
the result of the operation.</doc>
<doc-deprecated xml:space="preserve">Use g_file_unmount_mountable_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
with g_file_unmount_mountable().</doc>
<doc-deprecated xml:space="preserve">Use g_file_unmount_mountable_with_operation_finish()
instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
When the operation is finished, @callback will be called.
You can then call g_file_unmount_mountable_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Finish an asynchronous unmount operation that was started
with g_file_unmount_mountable_with_operation().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
</interface>
<record name="FileAttributeInfo" c:type="GFileAttributeInfo">
<doc xml:space="preserve">Information about a specific attribute.</doc>
-
<field name="name" writable="1">
<doc xml:space="preserve">the name of the attribute.</doc>
<type name="utf8" c:type="char*"/>
<record name="FileAttributeInfoList" c:type="GFileAttributeInfoList" glib:type-name="GFileAttributeInfoList" glib:get-type="g_file_attribute_info_list_get_type" c:symbol-prefix="file_attribute_info_list">
<doc xml:space="preserve">Acts as a lightweight registry for possible valid file attributes.
The registry stores Key-Value pair formats as #GFileAttributeInfos.</doc>
-
<field name="infos" writable="1">
<doc xml:space="preserve">an array of #GFileAttributeInfos.</doc>
<type name="FileAttributeInfo" c:type="GFileAttributeInfo*"/>
</field>
<constructor name="new" c:identifier="g_file_attribute_info_list_new">
<doc xml:space="preserve">Creates a new file attribute info list.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeInfoList.</doc>
<type name="FileAttributeInfoList" c:type="GFileAttributeInfoList*"/>
<method name="add" c:identifier="g_file_attribute_info_list_add">
<doc xml:space="preserve">Adds a new attribute with @name to the @list, setting
its @type and @flags.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="dup" c:identifier="g_file_attribute_info_list_dup">
<doc xml:space="preserve">Makes a duplicate of a file attribute info list.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a copy of the given @list.</doc>
<type name="FileAttributeInfoList" c:type="GFileAttributeInfoList*"/>
</method>
<method name="lookup" c:identifier="g_file_attribute_info_list_lookup">
<doc xml:space="preserve">Gets the file attribute with the name @name from @list.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GFileAttributeInfo for the @name, or %NULL if an
attribute isn't found.</doc>
</method>
<method name="ref" c:identifier="g_file_attribute_info_list_ref">
<doc xml:space="preserve">References a file attribute info list.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileAttributeInfoList or %NULL on error.</doc>
<type name="FileAttributeInfoList" c:type="GFileAttributeInfoList*"/>
<method name="unref" c:identifier="g_file_attribute_info_list_unref">
<doc xml:space="preserve">Removes a reference from the given @list. If the reference count
falls to zero, the @list is deleted.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<record name="FileAttributeMatcher" c:type="GFileAttributeMatcher" glib:type-name="GFileAttributeMatcher" glib:get-type="g_file_attribute_matcher_get_type" c:symbol-prefix="file_attribute_matcher">
<doc xml:space="preserve">Determines if a string matches a file attribute.</doc>
-
<constructor name="new" c:identifier="g_file_attribute_matcher_new">
<doc xml:space="preserve">Creates a new file attribute matcher, which matches attributes
against a given string. #GFileAttributeMatchers are reference
standard namespace.
- `"standard::type,unix::*"`: matches the type key in the standard
namespace and all keys in the unix namespace.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeMatcher</doc>
<type name="FileAttributeMatcher" c:type="GFileAttributeMatcher*"/>
using "*" and namespace is anything.)
TODO: this is awkwardly worded.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the matcher matches all of the entries
in the given @ns, %FALSE otherwise.</doc>
</method>
<method name="enumerate_next" c:identifier="g_file_attribute_matcher_enumerate_next">
<doc xml:space="preserve">Gets the next matched attribute from a #GFileAttributeMatcher.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the next attribute or, %NULL if
no more attribute exist.</doc>
<doc xml:space="preserve">Checks if an attribute will be matched by an attribute matcher. If
the matcher was created with the "*" matching string, this function
will always return %TRUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @attribute matches @matcher. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="matches_only" c:identifier="g_file_attribute_matcher_matches_only">
<doc xml:space="preserve">Checks if a attribute matcher only matches a given attribute. Always
returns %FALSE if "*" was used when creating the matcher.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the matcher only matches @attribute. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="ref" c:identifier="g_file_attribute_matcher_ref">
<doc xml:space="preserve">References a file attribute matcher.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeMatcher.</doc>
<type name="FileAttributeMatcher" c:type="GFileAttributeMatcher*"/>
a namespace or attribute when the matcher matches everything. This
is a limitation of the current implementation, but may be fixed
in the future.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A file attribute matcher matching all attributes of
@matcher that are not matched by @subtract</doc>
<type name="FileAttributeMatcher" c:type="GFileAttributeMatcher*"/>
</return-value>
<parameters>
- <instance-parameter name="matcher" transfer-ownership="none">
+ <instance-parameter name="matcher" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">Matcher to subtract from</doc>
<type name="FileAttributeMatcher" c:type="GFileAttributeMatcher*"/>
</instance-parameter>
- <parameter name="subtract" transfer-ownership="none">
+ <parameter name="subtract" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">The matcher to subtract</doc>
<type name="FileAttributeMatcher" c:type="GFileAttributeMatcher*"/>
</parameter>
equal to the format passed to g_file_attribute_matcher_new().
The output however, might not be identical, as the matcher may
decide to use a different order or omit needless parts.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string describing the attributes the matcher matches
against or %NULL if @matcher was %NULL.</doc>
<method name="unref" c:identifier="g_file_attribute_matcher_unref">
<doc xml:space="preserve">Unreferences @matcher. If the reference count falls below 1,
the @matcher is automatically freed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that `<gio/gfiledescriptorbased.h>` belongs to the UNIX-specific
GIO interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config
file when using it.</doc>
-
<virtual-method name="get_fd" invoker="get_fd" version="2.24">
<doc xml:space="preserve">Gets the underlying file descriptor.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The file descriptor</doc>
<type name="gint" c:type="int"/>
</virtual-method>
<method name="get_fd" c:identifier="g_file_descriptor_based_get_fd" version="2.24">
<doc xml:space="preserve">Gets the underlying file descriptor.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The file descriptor</doc>
<type name="gint" c:type="int"/>
</interface>
<record name="FileDescriptorBasedIface" c:type="GFileDescriptorBasedIface" glib:is-gtype-struct-for="FileDescriptorBased">
<doc xml:space="preserve">An interface for file descriptor based io objects.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_fd">
<callback name="get_fd">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The file descriptor</doc>
<type name="gint" c:type="int"/>
its asynchronous version, g_file_enumerator_close_async(). Once
a #GFileEnumerator is closed, no further actions may be performed
on it, and it should be freed with g_object_unref().</doc>
-
<virtual-method name="close_async" invoker="close_async">
<doc xml:space="preserve">Asynchronously closes the file enumerator.
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in
g_file_enumerator_close_finish().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
cancelled by triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the close operation has finished successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
On error, returns %NULL and sets @error to the error. If the
enumerator is at the end, %NULL will be returned and @error will
be unset.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A #GFileInfo or %NULL on error
or end of enumerator. Free the returned object with
Any outstanding i/o request with higher priority (lower numerical value) will
be executed before an outstanding request with lower priority. Default
priority is %G_PRIORITY_DEFAULT.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="next_files_finish" invoker="next_files_finish" throws="1">
<doc xml:space="preserve">Finishes the asynchronous operation started with g_file_enumerator_next_files_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GFileInfos. You must free the list with
g_list_free() and unref the infos with g_object_unref() when you're
This will be automatically called when the last reference
is dropped, but you might want to call this function to make
sure resources are released as early as possible.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">#TRUE on success or #FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in
g_file_enumerator_close_finish().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
cancelled by triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the close operation has finished successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
GFile *child = g_file_get_child (g_file_enumerator_get_container (enumr),
name);
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile for the #GFileInfo passed it.</doc>
<type name="File" c:type="GFile*"/>
</method>
<method name="get_container" c:identifier="g_file_enumerator_get_container" version="2.18">
<doc xml:space="preserve">Get the #GFile container which is being enumerated.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GFile which is being enumerated.</doc>
<type name="File" c:type="GFile*"/>
</method>
<method name="has_pending" c:identifier="g_file_enumerator_has_pending">
<doc xml:space="preserve">Checks if the file enumerator has pending operations.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @enumerator has pending operations.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_closed" c:identifier="g_file_enumerator_is_closed">
<doc xml:space="preserve">Checks if the file enumerator has been closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @enumerator is closed.</doc>
<type name="gboolean" c:type="gboolean"/>
out:
g_object_unref (direnum); // Note: frees the last @info
]|</doc>
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
On error, returns %NULL and sets @error to the error. If the
enumerator is at the end, %NULL will be returned and @error will
be unset.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A #GFileInfo or %NULL on error
or end of enumerator. Free the returned object with
Any outstanding i/o request with higher priority (lower numerical value) will
be executed before an outstanding request with lower priority. Default
priority is %G_PRIORITY_DEFAULT.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="next_files_finish" c:identifier="g_file_enumerator_next_files_finish" throws="1">
<doc xml:space="preserve">Finishes the asynchronous operation started with g_file_enumerator_next_files_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GFileInfos. You must free the list with
g_list_free() and unref the infos with g_object_unref() when you're
</method>
<method name="set_pending" c:identifier="g_file_enumerator_set_pending">
<doc xml:space="preserve">Sets the file enumerator as having pending operations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="FileEnumeratorClass" c:type="GFileEnumeratorClass" glib:is-gtype-struct-for="FileEnumerator">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="next_file">
<callback name="next_file" throws="1">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">A #GFileInfo or %NULL on error
or end of enumerator. Free the returned object with
</field>
<field name="close_fn">
<callback name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="next_files_async">
<callback name="next_files_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="next_files_finish">
<callback name="next_files_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GFileInfos. You must free the list with
g_list_free() and unref the infos with g_object_unref() when you're
</field>
<field name="close_async">
<callback name="close_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="close_finish">
<callback name="close_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the close operation has finished successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved7" introspectable="0">
<callback name="_g_reserved7">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="FileEnumeratorPrivate" c:type="GFileEnumeratorPrivate" disguised="1">
-
- </record>
+ <record name="FileEnumeratorPrivate" c:type="GFileEnumeratorPrivate" disguised="1"/>
<class name="FileIOStream" c:symbol-prefix="file_io_stream" c:type="GFileIOStream" version="2.22" parent="IOStream" glib:type-name="GFileIOStream" glib:get-type="g_file_io_stream_get_type" glib:type-struct="FileIOStreamClass">
<doc xml:space="preserve">GFileIOStream provides io streams that both read and write to the same
file handle.
The default implementation of all the #GFileIOStream operations
and the implementation of #GSeekable just call into the same operations
on the output stream.</doc>
-
<implements name="Seekable"/>
<virtual-method name="can_seek">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="can_truncate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<doc xml:space="preserve">Gets the entity tag for the file when it has been written.
This must be called after the stream has been written
and closed, as the etag can change while writing.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the entity tag for the stream.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the @stream, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
For the synchronous version of this function, see
g_file_io_stream_query_info().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="query_info_finish" invoker="query_info_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finalizes the asynchronous query started
by g_file_io_stream_query_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileInfo for the finished query.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</parameters>
</virtual-method>
<virtual-method name="seek" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="tell">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="goffset"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="truncate_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<doc xml:space="preserve">Gets the entity tag for the file when it has been written.
This must be called after the stream has been written
and closed, as the etag can change while writing.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the entity tag for the stream.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the @stream, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
For the synchronous version of this function, see
g_file_io_stream_query_info().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="query_info_finish" c:identifier="g_file_io_stream_query_info_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finalizes the asynchronous query started
by g_file_io_stream_query_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileInfo for the finished query.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
</class>
<record name="FileIOStreamClass" c:type="GFileIOStreamClass" glib:is-gtype-struct-for="FileIOStream">
-
<field name="parent_class">
<type name="IOStreamClass" c:type="GIOStreamClass"/>
</field>
<field name="tell">
<callback name="tell">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="goffset"/>
</return-value>
</field>
<field name="can_seek">
<callback name="can_seek">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="seek">
<callback name="seek" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="can_truncate">
<callback name="can_truncate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="truncate_fn">
<callback name="truncate_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="query_info">
<callback name="query_info" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the @stream, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
<field name="query_info_async">
<callback name="query_info_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="query_info_finish">
<callback name="query_info_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileInfo for the finished query.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
<field name="get_etag">
<callback name="get_etag">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the entity tag for the stream.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="FileIOStreamPrivate" c:type="GFileIOStreamPrivate" disguised="1">
-
- </record>
+ <record name="FileIOStreamPrivate" c:type="GFileIOStreamPrivate" disguised="1"/>
<class name="FileIcon" c:symbol-prefix="file_icon" c:type="GFileIcon" parent="GObject.Object" glib:type-name="GFileIcon" glib:get-type="g_file_icon_get_type" glib:type-struct="FileIconClass">
<doc xml:space="preserve">#GFileIcon specifies an icon by pointing to an image file
to be used as icon.</doc>
-
<implements name="Icon"/>
<implements name="LoadableIcon"/>
<constructor name="new" c:identifier="g_file_icon_new">
<doc xml:space="preserve">Creates a new icon for a file.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon for the given
@file, or %NULL on error.</doc>
</constructor>
<method name="get_file" c:identifier="g_file_icon_get_file">
<doc xml:space="preserve">Gets the #GFile associated with the given @icon.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GFile, or %NULL.</doc>
+ <doc xml:space="preserve">a #GFile.</doc>
<type name="File" c:type="GFile*"/>
</return-value>
<parameters>
<type name="File"/>
</property>
</class>
- <record name="FileIconClass" c:type="GFileIconClass" disguised="1" glib:is-gtype-struct-for="FileIcon">
-
- </record>
+ <record name="FileIconClass" c:type="GFileIconClass" disguised="1" glib:is-gtype-struct-for="FileIcon"/>
<record name="FileIface" c:type="GFileIface" glib:is-gtype-struct-for="File">
<doc xml:space="preserve">An interface for writing VFS file handles.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="dup">
<callback name="dup">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile that is a duplicate
of the given #GFile.</doc>
</field>
<field name="hash">
<callback name="hash">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">0 if @file is not a valid #GFile, otherwise an
integer that can be used as hash value for the #GFile.
</field>
<field name="equal">
<callback name="equal">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file1 and @file2 are equal.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="is_native">
<callback name="is_native">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @file is native</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="has_uri_scheme">
<callback name="has_uri_scheme">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if #GFile's backend supports the
given URI scheme, %FALSE if URI scheme is %NULL,
</field>
<field name="get_uri_scheme">
<callback name="get_uri_scheme">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a string containing the URI scheme for the given
- #GFile. The returned string should be freed with g_free()
- when no longer needed.</doc>
+ #GFile or %NULL if the #GFile was constructed with an invalid URI. The
+ returned string should be freed with g_free() when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
</field>
<field name="get_basename">
<callback name="get_basename">
-
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">string containing the #GFile's
+ base name, or %NULL if given #GFile is invalid. The returned string
+ should be freed with g_free() when no longer needed.</doc>
+ <type name="filename" c:type="char*"/>
</return-value>
<parameters>
<parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</parameter>
</parameters>
</field>
<field name="get_path">
<callback name="get_path">
-
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">string containing the #GFile's path,
+ or %NULL if no such path exists. The returned string should be freed
+ with g_free() when no longer needed.</doc>
+ <type name="filename" c:type="char*"/>
</return-value>
<parameters>
<parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</parameter>
</parameters>
</field>
<field name="get_uri">
<callback name="get_uri">
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a string containing the #GFile's URI.
+ <doc xml:space="preserve">a string containing the #GFile's URI. If the #GFile was constructed
+ with an invalid URI, an invalid URI is returned.
The returned string should be freed with g_free()
when no longer needed.</doc>
<type name="utf8" c:type="char*"/>
</field>
<field name="get_parse_name">
<callback name="get_parse_name">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string containing the #GFile's parse name.
The returned string should be freed with g_free()
</field>
<field name="get_parent">
<callback name="get_parent">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GFile structure to the
parent of the given #GFile or %NULL if there is no parent. Free
</field>
<field name="prefix_matches">
<callback name="prefix_matches">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file's parent, grandparent, etc is @prefix,
%FALSE otherwise.</doc>
</field>
<field name="get_relative_path">
<callback name="get_relative_path">
-
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">string with the relative path from
+ @descendant to @parent, or %NULL if @descendant doesn't have @parent as
+ prefix. The returned string should be freed with g_free() when
+ no longer needed.</doc>
+ <type name="filename" c:type="char*"/>
</return-value>
<parameters>
<parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</parameter>
<parameter name="descendant" transfer-ownership="none">
+ <doc xml:space="preserve">input #GFile</doc>
<type name="File" c:type="GFile*"/>
</parameter>
</parameters>
</field>
<field name="resolve_relative_path">
<callback name="resolve_relative_path">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFile to the resolved path.
%NULL if @relative_path is %NULL or if @file is invalid.
</field>
<field name="get_child_for_display_name">
<callback name="get_child_for_display_name" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile to the specified child, or
%NULL if the display name couldn't be converted.
</field>
<field name="enumerate_children">
<callback name="enumerate_children" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileEnumerator if successful,
%NULL on error. Free the returned object with g_object_unref().</doc>
</field>
<field name="enumerate_children_async">
<callback name="enumerate_children_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="enumerate_children_finish">
<callback name="enumerate_children_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileEnumerator or %NULL
if an error occurred.
</field>
<field name="query_info">
<callback name="query_info" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the given @file, or %NULL
on error. Free the returned object with g_object_unref().</doc>
</field>
<field name="query_info_async">
<callback name="query_info_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="query_info_finish">
<callback name="query_info_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo for given @file
or %NULL on error. Free the returned object with
</field>
<field name="query_filesystem_info">
<callback name="query_filesystem_info" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo or %NULL if there was an error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="query_filesystem_info_async">
<callback name="query_filesystem_info_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="query_filesystem_info_finish">
<callback name="query_filesystem_info_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo for given @file
or %NULL on error.
</field>
<field name="find_enclosing_mount">
<callback name="find_enclosing_mount" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GMount where the @file is located
or %NULL on error.
</field>
<field name="find_enclosing_mount_async">
<callback name="find_enclosing_mount_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="find_enclosing_mount_finish">
<callback name="find_enclosing_mount_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GMount for given @file or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="set_display_name">
<callback name="set_display_name" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile specifying what @file was renamed to,
or %NULL if there was an error.
</field>
<field name="set_display_name_async">
<callback name="set_display_name_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="set_display_name_finish">
<callback name="set_display_name_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="query_settable_attributes">
<callback name="query_settable_attributes" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeInfoList describing the settable attributes.
When you are done with it, release it with
</field>
<field name="_query_settable_attributes_async" introspectable="0">
<callback name="_query_settable_attributes_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_query_settable_attributes_finish" introspectable="0">
<callback name="_query_settable_attributes_finish">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="query_writable_namespaces">
<callback name="query_writable_namespaces" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileAttributeInfoList describing the writable namespaces.
When you are done with it, release it with
</field>
<field name="_query_writable_namespaces_async" introspectable="0">
<callback name="_query_writable_namespaces_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_query_writable_namespaces_finish" introspectable="0">
<callback name="_query_writable_namespaces_finish">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="set_attribute">
<callback name="set_attribute" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the attribute was set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="set_attributes_from_info">
<callback name="set_attributes_from_info" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE if there was any error, %TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="set_attributes_async">
<callback name="set_attributes_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="set_attributes_finish">
<callback name="set_attributes_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the attributes were set correctly, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="read_fn">
<callback name="read_fn" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="read_async">
<callback name="read_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="read_finish">
<callback name="read_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="append_to">
<callback name="append_to" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="append_to_async">
<callback name="append_to_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="append_to_finish">
<callback name="append_to_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a valid #GFileOutputStream
or %NULL on error.
</field>
<field name="create">
<callback name="create" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream for the newly created
file, or %NULL on error.
</field>
<field name="create_async">
<callback name="create_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="create_finish">
<callback name="create_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="replace">
<callback name="replace" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="replace_async">
<callback name="replace_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="replace_finish">
<callback name="replace_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileOutputStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="delete_file">
<callback name="delete_file" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was deleted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="delete_file_async">
<callback name="delete_file_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="delete_file_finish">
<callback name="delete_file_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was deleted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="trash">
<callback name="trash" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful trash, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="trash_async">
<callback name="trash_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="trash_finish">
<callback name="trash_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful trash, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="make_directory">
<callback name="make_directory" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful creation, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="make_directory_async">
<callback name="make_directory_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="make_directory_finish">
<callback name="make_directory_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful directory creation, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="make_symbolic_link">
<callback name="make_symbolic_link" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on the creation of a new symlink, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_make_symbolic_link_async" introspectable="0">
<callback name="_make_symbolic_link_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_make_symbolic_link_finish" introspectable="0">
<callback name="_make_symbolic_link_finish">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="copy">
<callback name="copy" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="copy_async">
<callback name="copy_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="copy_finish">
<callback name="copy_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="move">
<callback name="move" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on successful move, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_move_async" introspectable="0">
<callback name="_move_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_move_finish" introspectable="0">
<callback name="_move_finish">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_mountable">
<callback name="mount_mountable">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_mountable_finish">
<callback name="mount_mountable_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="unmount_mountable">
<callback name="unmount_mountable">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unmount_mountable_finish">
<callback name="unmount_mountable_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
</field>
<field name="eject_mountable">
<callback name="eject_mountable">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_mountable_finish">
<callback name="eject_mountable_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file was ejected successfully.
%FALSE otherwise.</doc>
</field>
<field name="mount_enclosing_volume">
<callback name="mount_enclosing_volume">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_enclosing_volume_finish">
<callback name="mount_enclosing_volume_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred,
this function will return %FALSE and set @error
</field>
<field name="monitor_dir">
<callback name="monitor_dir" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileMonitor for the given @file,
or %NULL on error.
</field>
<field name="monitor_file">
<callback name="monitor_file" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileMonitor for the given @file,
or %NULL on error.
</field>
<field name="open_readwrite">
<callback name="open_readwrite" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="open_readwrite_async">
<callback name="open_readwrite_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="open_readwrite_finish">
<callback name="open_readwrite_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="create_readwrite">
<callback name="create_readwrite" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream for the newly created
file, or %NULL on error.
</field>
<field name="create_readwrite_async">
<callback name="create_readwrite_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="create_readwrite_finish">
<callback name="create_readwrite_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="replace_readwrite">
<callback name="replace_readwrite" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="replace_readwrite_async">
<callback name="replace_readwrite_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="replace_readwrite_finish">
<callback name="replace_readwrite_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileIOStream, or %NULL on error.
Free the returned object with g_object_unref().</doc>
</field>
<field name="start_mountable">
<callback name="start_mountable">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="start_mountable_finish">
<callback name="start_mountable_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully. %FALSE
otherwise.</doc>
</field>
<field name="stop_mountable">
<callback name="stop_mountable">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="stop_mountable_finish">
<callback name="stop_mountable_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
</field>
<field name="unmount_mountable_with_operation">
<callback name="unmount_mountable_with_operation">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unmount_mountable_with_operation_finish">
<callback name="unmount_mountable_with_operation_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully.
%FALSE otherwise.</doc>
</field>
<field name="eject_mountable_with_operation">
<callback name="eject_mountable_with_operation">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_mountable_with_operation_finish">
<callback name="eject_mountable_with_operation_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @file was ejected successfully.
%FALSE otherwise.</doc>
</field>
<field name="poll_mountable">
<callback name="poll_mountable">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="poll_mountable_finish">
<callback name="poll_mountable_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation finished successfully. %FALSE
otherwise.</doc>
</field>
<field name="measure_disk_usage" introspectable="0">
<callback name="measure_disk_usage" introspectable="0" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, with the out parameters set.
%FALSE otherwise, with @error set.</doc>
</field>
<field name="measure_disk_usage_async" introspectable="0">
<callback name="measure_disk_usage_async" introspectable="0">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="measure_disk_usage_finish">
<callback name="measure_disk_usage_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, with the out parameters set.
%FALSE otherwise, with @error set.</doc>
#GFileAttributeMatcher allows for searching through a #GFileInfo for
attributes.</doc>
-
<constructor name="new" c:identifier="g_file_info_new">
<doc xml:space="preserve">Creates a new file info structure.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</constructor>
<method name="clear_status" c:identifier="g_file_info_clear_status">
<doc xml:space="preserve">Clears the status information from @info.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="copy_into" c:identifier="g_file_info_copy_into">
<doc xml:space="preserve">First clears all of the [GFileAttribute][gio-GFileAttribute] of @dest_info,
and then copies all of the file attributes from @src_info to @dest_info.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="dup" c:identifier="g_file_info_dup">
<doc xml:space="preserve">Duplicates a file info structure.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a duplicate #GFileInfo of @other.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
<doc xml:space="preserve">Gets the value of a attribute, formatted as a string.
This escapes things as needed to make the string valid
UTF-8.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a UTF-8 string associated with the given @attribute, or
%NULL if the attribute wasn’t set.
<method name="get_attribute_boolean" c:identifier="g_file_info_get_attribute_boolean">
<doc xml:space="preserve">Gets the value of a boolean attribute. If the attribute does not
contain a boolean value, %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the boolean value contained within the attribute.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_attribute_byte_string" c:identifier="g_file_info_get_attribute_byte_string">
<doc xml:space="preserve">Gets the value of a byte string attribute. If the attribute does
not contain a byte string, %NULL will be returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the contents of the @attribute value as a byte string, or
%NULL otherwise.</doc>
</method>
<method name="get_attribute_data" c:identifier="g_file_info_get_attribute_data">
<doc xml:space="preserve">Gets the attribute type, value and status for an attribute key.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @info has an attribute named @attribute,
%FALSE otherwise.</doc>
<doc xml:space="preserve">Gets a signed 32-bit integer contained within the attribute. If the
attribute does not contain a signed 32-bit integer, or is invalid,
0 will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a signed 32-bit integer from the attribute.</doc>
<type name="gint32" c:type="gint32"/>
<doc xml:space="preserve">Gets a signed 64-bit integer contained within the attribute. If the
attribute does not contain a signed 64-bit integer, or is invalid,
0 will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a signed 64-bit integer from the attribute.</doc>
<type name="gint64" c:type="gint64"/>
<method name="get_attribute_object" c:identifier="g_file_info_get_attribute_object">
<doc xml:space="preserve">Gets the value of a #GObject attribute. If the attribute does
not contain a #GObject, %NULL will be returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GObject associated with the given @attribute,
or %NULL otherwise.</doc>
</method>
<method name="get_attribute_status" c:identifier="g_file_info_get_attribute_status">
<doc xml:space="preserve">Gets the attribute status for an attribute key.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GFileAttributeStatus for the given @attribute, or
%G_FILE_ATTRIBUTE_STATUS_UNSET if the key is invalid.</doc>
<method name="get_attribute_string" c:identifier="g_file_info_get_attribute_string">
<doc xml:space="preserve">Gets the value of a string attribute. If the attribute does
not contain a string, %NULL will be returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the contents of the @attribute value as a UTF-8 string,
or %NULL otherwise.</doc>
<method name="get_attribute_stringv" c:identifier="g_file_info_get_attribute_stringv" version="2.22">
<doc xml:space="preserve">Gets the value of a stringv attribute. If the attribute does
not contain a stringv, %NULL will be returned.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the contents of the @attribute value as a stringv,
or %NULL otherwise. Do not free. These returned strings are UTF-8.</doc>
</method>
<method name="get_attribute_type" c:identifier="g_file_info_get_attribute_type">
<doc xml:space="preserve">Gets the attribute type for an attribute key.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GFileAttributeType for the given @attribute, or
%G_FILE_ATTRIBUTE_TYPE_INVALID if the key is not set.</doc>
<doc xml:space="preserve">Gets an unsigned 32-bit integer contained within the attribute. If the
attribute does not contain an unsigned 32-bit integer, or is invalid,
0 will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an unsigned 32-bit integer from the attribute.</doc>
<type name="guint32" c:type="guint32"/>
<doc xml:space="preserve">Gets a unsigned 64-bit integer contained within the attribute. If the
attribute does not contain an unsigned 64-bit integer, or is invalid,
0 will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a unsigned 64-bit integer from the attribute.</doc>
<type name="guint64" c:type="guint64"/>
</method>
<method name="get_content_type" c:identifier="g_file_info_get_content_type">
<doc xml:space="preserve">Gets the file's content type.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the file's content type,
or %NULL if unknown.</doc>
<doc xml:space="preserve">Returns the #GDateTime representing the deletion date of the file, as
available in G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the
G_FILE_ATTRIBUTE_TRASH_DELETION_DATE attribute is unset, %NULL is returned.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDateTime, or %NULL.</doc>
<type name="GLib.DateTime" c:type="GDateTime*"/>
</method>
<method name="get_display_name" c:identifier="g_file_info_get_display_name">
<doc xml:space="preserve">Gets a display name for a file. This is guaranteed to always be set.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the display name.</doc>
<type name="utf8" c:type="const char*"/>
</method>
<method name="get_edit_name" c:identifier="g_file_info_get_edit_name">
<doc xml:space="preserve">Gets the edit name for a file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the edit name.</doc>
<type name="utf8" c:type="const char*"/>
<method name="get_etag" c:identifier="g_file_info_get_etag">
<doc xml:space="preserve">Gets the [entity tag][gfile-etag] for a given
#GFileInfo. See %G_FILE_ATTRIBUTE_ETAG_VALUE.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the value of the "etag:value" attribute.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
<method name="get_file_type" c:identifier="g_file_info_get_file_type">
<doc xml:space="preserve">Gets a file's type (whether it is a regular file, symlink, etc).
This is different from the file's content type, see g_file_info_get_content_type().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GFileType for the given file.</doc>
<type name="FileType" c:type="GFileType"/>
</method>
<method name="get_icon" c:identifier="g_file_info_get_icon">
<doc xml:space="preserve">Gets the icon for a file.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">#GIcon for the given @info.</doc>
<type name="Icon" c:type="GIcon*"/>
</return-value>
</method>
<method name="get_is_backup" c:identifier="g_file_info_get_is_backup">
<doc xml:space="preserve">Checks if a file is a backup file.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if file is a backup file, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_hidden" c:identifier="g_file_info_get_is_hidden">
<doc xml:space="preserve">Checks if a file is hidden.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file is a hidden file, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_symlink" c:identifier="g_file_info_get_is_symlink">
<doc xml:space="preserve">Checks if a file is a symlink.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the given @info is a symlink.</doc>
<type name="gboolean" c:type="gboolean"/>
This requires the %G_FILE_ATTRIBUTE_TIME_MODIFIED attribute. If
%G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC is provided, the resulting #GDateTime
will have microsecond precision.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">modification time, or %NULL if unknown</doc>
<type name="GLib.DateTime" c:type="GDateTime*"/>
in @result.</doc>
<doc-deprecated xml:space="preserve">Use g_file_info_get_modification_date_time() instead, as
#GTimeVal is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_name" c:identifier="g_file_info_get_name">
<doc xml:space="preserve">Gets the name for a file. This is guaranteed to always be set.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the file name.</doc>
<type name="filename" c:type="const char*"/>
</parameters>
</method>
<method name="get_size" c:identifier="g_file_info_get_size">
- <doc xml:space="preserve">Gets the file's size.</doc>
-
+ <doc xml:space="preserve">Gets the file's size (in bytes). The size is retrieved through the value of
+the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute and is converted
+from #guint64 to #goffset before returning the result.</doc>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #goffset containing the file's size.</doc>
+ <doc xml:space="preserve">a #goffset containing the file's size (in bytes).</doc>
<type name="gint64" c:type="goffset"/>
</return-value>
<parameters>
<method name="get_sort_order" c:identifier="g_file_info_get_sort_order">
<doc xml:space="preserve">Gets the value of the sort_order attribute from the #GFileInfo.
See %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gint32 containing the value of the "standard::sort_order" attribute.</doc>
<type name="gint32" c:type="gint32"/>
</method>
<method name="get_symbolic_icon" c:identifier="g_file_info_get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the symbolic icon for a file.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">#GIcon for the given @info.</doc>
<type name="Icon" c:type="GIcon*"/>
</return-value>
</method>
<method name="get_symlink_target" c:identifier="g_file_info_get_symlink_target">
<doc xml:space="preserve">Gets the symlink target for a given #GFileInfo.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the symlink target.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</method>
<method name="has_attribute" c:identifier="g_file_info_has_attribute">
<doc xml:space="preserve">Checks if a file info structure has an attribute named @attribute.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @info has an attribute named @attribute,
%FALSE otherwise.</doc>
<method name="has_namespace" c:identifier="g_file_info_has_namespace" version="2.22">
<doc xml:space="preserve">Checks if a file info structure has an attribute in the
specified @name_space.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @info has an attribute in @name_space,
%FALSE otherwise.</doc>
</method>
<method name="list_attributes" c:identifier="g_file_info_list_attributes">
<doc xml:space="preserve">Lists the file info structure's attributes.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a
null-terminated array of strings of all of the possible attribute
</method>
<method name="remove_attribute" c:identifier="g_file_info_remove_attribute">
<doc xml:space="preserve">Removes all cases of @attribute from @info if it exists.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute" c:identifier="g_file_info_set_attribute">
<doc xml:space="preserve">Sets the @attribute to contain the given value, if possible. To unset the
attribute, use %G_FILE_ATTRIBUTE_TYPE_INVALID for @type.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute_boolean" c:identifier="g_file_info_set_attribute_boolean">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute_byte_string" c:identifier="g_file_info_set_attribute_byte_string">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute_int32" c:identifier="g_file_info_set_attribute_int32">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute_int64" c:identifier="g_file_info_set_attribute_int64">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_attribute_mask" c:identifier="g_file_info_set_attribute_mask">
<doc xml:space="preserve">Sets @mask on @info to match specific attribute types.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute_object" c:identifier="g_file_info_set_attribute_object">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The attribute must exist in @info for this to work. Otherwise %FALSE
is returned and @info is unchanged.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the status was changed, %FALSE if the key was not set.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="set_attribute_string" c:identifier="g_file_info_set_attribute_string">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
if possible.
Sinze: 2.22</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute_uint32" c:identifier="g_file_info_set_attribute_uint32">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_attribute_uint64" c:identifier="g_file_info_set_attribute_uint64">
<doc xml:space="preserve">Sets the @attribute to contain the given @attr_value,
if possible.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_content_type" c:identifier="g_file_info_set_content_type">
<doc xml:space="preserve">Sets the content type attribute for a given #GFileInfo.
See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_display_name" c:identifier="g_file_info_set_display_name">
<doc xml:space="preserve">Sets the display name for the current #GFileInfo.
See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_edit_name" c:identifier="g_file_info_set_edit_name">
<doc xml:space="preserve">Sets the edit name for the current file.
See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_file_type" c:identifier="g_file_info_set_file_type">
<doc xml:space="preserve">Sets the file type in a #GFileInfo to @type.
See %G_FILE_ATTRIBUTE_STANDARD_TYPE.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_icon" c:identifier="g_file_info_set_icon">
<doc xml:space="preserve">Sets the icon for a given #GFileInfo.
See %G_FILE_ATTRIBUTE_STANDARD_ICON.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_is_hidden" c:identifier="g_file_info_set_is_hidden">
<doc xml:space="preserve">Sets the "is_hidden" attribute in a #GFileInfo according to @is_hidden.
See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_is_symlink" c:identifier="g_file_info_set_is_symlink">
<doc xml:space="preserve">Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink.
See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the %G_FILE_ATTRIBUTE_TIME_MODIFIED and
%G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC attributes in the file info to the
given date/time value.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
given time value.</doc>
<doc-deprecated xml:space="preserve">Use g_file_info_set_modification_date_time() instead, as
#GTimeVal is deprecated due to the year 2038 problem.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_name" c:identifier="g_file_info_set_name">
<doc xml:space="preserve">Sets the name attribute for the current #GFileInfo.
See %G_FILE_ATTRIBUTE_STANDARD_NAME.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_size" c:identifier="g_file_info_set_size">
<doc xml:space="preserve">Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info
to the given size.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_sort_order" c:identifier="g_file_info_set_sort_order">
<doc xml:space="preserve">Sets the sort order attribute in the file info structure. See
%G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_symbolic_icon" c:identifier="g_file_info_set_symbolic_icon" version="2.34">
<doc xml:space="preserve">Sets the symbolic icon for a given #GFileInfo.
See %G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_symlink_target" c:identifier="g_file_info_set_symlink_target">
<doc xml:space="preserve">Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info
to the given symlink target.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="unset_attribute_mask" c:identifier="g_file_info_unset_attribute_mask">
<doc xml:space="preserve">Unsets a mask set by g_file_info_set_attribute_mask(), if one
is set.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
</class>
- <record name="FileInfoClass" c:type="GFileInfoClass" disguised="1" glib:is-gtype-struct-for="FileInfo">
-
- </record>
+ <record name="FileInfoClass" c:type="GFileInfoClass" disguised="1" glib:is-gtype-struct-for="FileInfo"/>
<class name="FileInputStream" c:symbol-prefix="file_input_stream" c:type="GFileInputStream" parent="InputStream" glib:type-name="GFileInputStream" glib:get-type="g_file_input_stream_get_type" glib:type-struct="FileInputStreamClass">
<doc xml:space="preserve">GFileInputStream provides input streams that take their
content from a file.
input stream, use g_seekable_tell(). To find out if a file input
stream supports seeking, use g_seekable_can_seek().
To position a file input stream, use g_seekable_seek().</doc>
-
<implements name="Seekable"/>
<virtual-method name="can_seek">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
of this function, see g_file_input_stream_query_info_async(). While the
stream is blocked, the stream will set the pending flag internally, and
any other operations on the stream will fail with %G_IO_ERROR_PENDING.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="query_info_finish" invoker="query_info_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous info query operation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</parameters>
</virtual-method>
<virtual-method name="seek" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="tell">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="goffset"/>
</return-value>
of this function, see g_file_input_stream_query_info_async(). While the
stream is blocked, the stream will set the pending flag internally, and
any other operations on the stream will fail with %G_IO_ERROR_PENDING.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="query_info_finish" c:identifier="g_file_input_stream_query_info_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous info query operation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
</class>
<record name="FileInputStreamClass" c:type="GFileInputStreamClass" glib:is-gtype-struct-for="FileInputStream">
-
<field name="parent_class">
<type name="InputStreamClass" c:type="GInputStreamClass"/>
</field>
<field name="tell">
<callback name="tell">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="goffset"/>
</return-value>
</field>
<field name="can_seek">
<callback name="can_seek">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="seek">
<callback name="seek" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="query_info">
<callback name="query_info" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
<field name="query_info_async">
<callback name="query_info_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="query_info_finish">
<callback name="query_info_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GFileInfo.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="FileInputStreamPrivate" c:type="GFileInputStreamPrivate" disguised="1">
-
- </record>
+ <record name="FileInputStreamPrivate" c:type="GFileInputStreamPrivate" disguised="1"/>
<bitfield name="FileMeasureFlags" version="2.38" glib:type-name="GFileMeasureFlags" glib:get-type="g_file_measure_flags_get_type" c:type="GFileMeasureFlags">
<doc xml:space="preserve">Flags that can be used with g_file_measure_disk_usage().</doc>
<member name="none" value="0" c:identifier="G_FILE_MEASURE_NONE" glib:nick="none">
The last progress callback may or may not be equal to the final
result. Always check the async result to get the final value.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
(though if the global default main context is blocked, this may
cause notifications to be blocked even if the thread-default
context is still running).</doc>
-
<virtual-method name="cancel" invoker="cancel">
<doc xml:space="preserve">Cancels a file monitor.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">always %TRUE</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="cancel" c:identifier="g_file_monitor_cancel">
<doc xml:space="preserve">Cancels a file monitor.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">always %TRUE</doc>
<type name="gboolean" c:type="gboolean"/>
Implementations are responsible to call this method from the
[thread-default main context][g-main-context-push-thread-default] of the
thread that the monitor was created in.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="is_cancelled" c:identifier="g_file_monitor_is_cancelled">
<doc xml:space="preserve">Returns whether the monitor is canceled.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if monitor is canceled. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="set_rate_limit" c:identifier="g_file_monitor_set_rate_limit">
<doc xml:space="preserve">Sets the rate limit to which the @monitor will report
consecutive change events to the same file.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="FileMonitorClass" c:type="GFileMonitorClass" glib:is-gtype-struct-for="FileMonitor">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="changed">
<callback name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="cancel">
<callback name="cancel">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">always %TRUE</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
events to be emitted when possible. Since: 2.46.</doc>
</member>
</bitfield>
- <record name="FileMonitorPrivate" c:type="GFileMonitorPrivate" disguised="1">
-
- </record>
+ <record name="FileMonitorPrivate" c:type="GFileMonitorPrivate" disguised="1"/>
<class name="FileOutputStream" c:symbol-prefix="file_output_stream" c:type="GFileOutputStream" parent="OutputStream" glib:type-name="GFileOutputStream" glib:get-type="g_file_output_stream_get_type" glib:type-struct="FileOutputStreamClass">
<doc xml:space="preserve">GFileOutputStream provides output streams that write their
content to a file.
g_seekable_seek(). To find out if a file output stream supports
truncating, use g_seekable_can_truncate(). To truncate a file output
stream, use g_seekable_truncate().</doc>
-
<implements name="Seekable"/>
<virtual-method name="can_seek">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="can_truncate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<doc xml:space="preserve">Gets the entity tag for the file when it has been written.
This must be called after the stream has been written
and closed, as the etag can change while writing.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the entity tag for the stream.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the @stream, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
For the synchronous version of this function, see
g_file_output_stream_query_info().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="query_info_finish" invoker="query_info_finish" throws="1">
<doc xml:space="preserve">Finalizes the asynchronous query started
by g_file_output_stream_query_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileInfo for the finished query.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</parameters>
</virtual-method>
<virtual-method name="seek" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="tell">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="goffset"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="truncate_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<doc xml:space="preserve">Gets the entity tag for the file when it has been written.
This must be called after the stream has been written
and closed, as the etag can change while writing.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the entity tag for the stream.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will
be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the @stream, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
For the synchronous version of this function, see
g_file_output_stream_query_info().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="query_info_finish" c:identifier="g_file_output_stream_query_info_finish" throws="1">
<doc xml:space="preserve">Finalizes the asynchronous query started
by g_file_output_stream_query_info_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileInfo for the finished query.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
</class>
<record name="FileOutputStreamClass" c:type="GFileOutputStreamClass" glib:is-gtype-struct-for="FileOutputStream">
-
<field name="parent_class">
<type name="OutputStreamClass" c:type="GOutputStreamClass"/>
</field>
<field name="tell">
<callback name="tell">
-
<return-value transfer-ownership="none">
<type name="gint64" c:type="goffset"/>
</return-value>
</field>
<field name="can_seek">
<callback name="can_seek">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="seek">
<callback name="seek" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="can_truncate">
<callback name="can_truncate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="truncate_fn">
<callback name="truncate_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="query_info">
<callback name="query_info" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFileInfo for the @stream, or %NULL on error.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
<field name="query_info_async">
<callback name="query_info_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="query_info_finish">
<callback name="query_info_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GFileInfo for the finished query.</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</field>
<field name="get_etag">
<callback name="get_etag">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the entity tag for the stream.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="FileOutputStreamPrivate" c:type="GFileOutputStreamPrivate" disguised="1">
-
- </record>
+ <record name="FileOutputStreamPrivate" c:type="GFileOutputStreamPrivate" disguised="1"/>
<callback name="FileProgressCallback" c:type="GFileProgressCallback">
<doc xml:space="preserve">When doing file operations that may take a while, such as moving
a file or copying a file, a progress callback is used to pass how
far along that operation is to the application.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
it may become necessary to determine if any more data from the file should be loaded.
A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data
should be read, or %FALSE otherwise.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if more data should be read back. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Completes partial file and directory names given a partial string by
looking in the file system for clues. Can return a list of possible
completion strings for widget implementations.</doc>
-
<constructor name="new" c:identifier="g_filename_completer_new">
<doc xml:space="preserve">Creates a new filename completer.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFilenameCompleter.</doc>
<type name="FilenameCompleter" c:type="GFilenameCompleter*"/>
</return-value>
</constructor>
<virtual-method name="got_completion_data">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="get_completion_suffix" c:identifier="g_filename_completer_get_completion_suffix">
<doc xml:space="preserve">Obtains a completion for @initial_text from @completer.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a completed string, or %NULL if no completion exists.
- This string is not owned by GIO, so remember to g_free() it
- when finished.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">a completed string, or %NULL if no
+ completion exists. This string is not owned by GIO, so remember to g_free()
+ it when finished.</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
</method>
<method name="get_completions" c:identifier="g_filename_completer_get_completions">
<doc xml:space="preserve">Gets an array of completion strings for a given initial text.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">array of strings with possible completions for @initial_text.
This array must be freed by g_strfreev() when finished.</doc>
<method name="set_dirs_only" c:identifier="g_filename_completer_set_dirs_only">
<doc xml:space="preserve">If @dirs_only is %TRUE, @completer will only
complete directory names, and not file names.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="FilenameCompleterClass" c:type="GFilenameCompleterClass" glib:is-gtype-struct-for="FilenameCompleter">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="got_completion_data">
<callback name="got_completion_data">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
kind of filtering operation on a base stream. Typical examples
of filtering operations are character set conversion, compression
and byte order flipping.</doc>
-
<method name="get_base_stream" c:identifier="g_filter_input_stream_get_base_stream">
<doc xml:space="preserve">Gets the base stream for the filter stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GInputStream.</doc>
<type name="InputStream" c:type="GInputStream*"/>
<method name="get_close_base_stream" c:identifier="g_filter_input_stream_get_close_base_stream">
<doc xml:space="preserve">Returns whether the base stream will be closed when @stream is
closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the base stream will be closed.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="set_close_base_stream" c:identifier="g_filter_input_stream_set_close_base_stream">
<doc xml:space="preserve">Sets whether the base stream will be closed when @stream is closed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="FilterInputStreamClass" c:type="GFilterInputStreamClass" glib:is-gtype-struct-for="FilterInputStream">
-
<field name="parent_class">
<type name="InputStreamClass" c:type="GInputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
kind of filtering operation on a base stream. Typical examples
of filtering operations are character set conversion, compression
and byte order flipping.</doc>
-
<method name="get_base_stream" c:identifier="g_filter_output_stream_get_base_stream">
<doc xml:space="preserve">Gets the base stream for the filter stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GOutputStream.</doc>
<type name="OutputStream" c:type="GOutputStream*"/>
<method name="get_close_base_stream" c:identifier="g_filter_output_stream_get_close_base_stream">
<doc xml:space="preserve">Returns whether the base stream will be closed when @stream is
closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the base stream will be closed.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="set_close_base_stream" c:identifier="g_filter_output_stream_set_close_base_stream">
<doc xml:space="preserve">Sets whether the base stream will be closed when @stream is closed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="FilterOutputStreamClass" c:type="GFilterOutputStreamClass" glib:is-gtype-struct-for="FilterOutputStream">
-
<field name="parent_class">
<type name="OutputStreamClass" c:type="GOutputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</record>
<function-macro name="ICON" c:identifier="G_ICON" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ICON_GET_IFACE" c:identifier="G_ICON_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_ADDRESS" c:identifier="G_INET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_ADDRESS_CLASS" c:identifier="G_INET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_ADDRESS_GET_CLASS" c:identifier="G_INET_ADDRESS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_ADDRESS_MASK" c:identifier="G_INET_ADDRESS_MASK" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_ADDRESS_MASK_CLASS" c:identifier="G_INET_ADDRESS_MASK_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_ADDRESS_MASK_GET_CLASS" c:identifier="G_INET_ADDRESS_MASK_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_SOCKET_ADDRESS" c:identifier="G_INET_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_SOCKET_ADDRESS_CLASS" c:identifier="G_INET_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="INET_SOCKET_ADDRESS_GET_CLASS" c:identifier="G_INET_SOCKET_ADDRESS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="INITABLE" c:identifier="G_INITABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="INITABLE_GET_IFACE" c:identifier="G_INITABLE_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="INPUT_STREAM" c:identifier="G_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="INPUT_STREAM_CLASS" c:identifier="G_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="INPUT_STREAM_GET_CLASS" c:identifier="G_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
<record name="IOExtension" c:type="GIOExtension" disguised="1">
<doc xml:space="preserve">#GIOExtension is an opaque data structure and can only be accessed
using the following functions.</doc>
-
<method name="get_name" c:identifier="g_io_extension_get_name">
<doc xml:space="preserve">Gets the name under which @extension was registered.
Note that the same type may be registered as extension
for multiple extension points, under different names.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of @extension.</doc>
<type name="utf8" c:type="const char*"/>
</method>
<method name="get_priority" c:identifier="g_io_extension_get_priority">
<doc xml:space="preserve">Gets the priority with which @extension was registered.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the priority of @extension</doc>
<type name="gint" c:type="gint"/>
</method>
<method name="get_type" c:identifier="g_io_extension_get_type">
<doc xml:space="preserve">Gets the type associated with @extension.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the type of @extension</doc>
<type name="GType" c:type="GType"/>
<method name="ref_class" c:identifier="g_io_extension_ref_class" introspectable="0">
<doc xml:space="preserve">Gets a reference to the class for the type that is
associated with @extension.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GTypeClass for the type of @extension</doc>
<type name="GObject.TypeClass" c:type="GTypeClass*"/>
<record name="IOExtensionPoint" c:type="GIOExtensionPoint" disguised="1">
<doc xml:space="preserve">#GIOExtensionPoint is an opaque data structure and can only be accessed
using the following functions.</doc>
-
<method name="get_extension_by_name" c:identifier="g_io_extension_point_get_extension_by_name">
<doc xml:space="preserve">Finds a #GIOExtension for an extension point by name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GIOExtension for @extension_point that has the
given name, or %NULL if there is no extension with that name</doc>
<method name="get_extensions" c:identifier="g_io_extension_point_get_extensions">
<doc xml:space="preserve">Gets a list of all extensions that implement this extension point.
The list is sorted by priority, beginning with the highest priority.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GList of
#GIOExtensions. The list is owned by GIO and should not be
</method>
<method name="get_required_type" c:identifier="g_io_extension_point_get_required_type">
<doc xml:space="preserve">Gets the required type for @extension_point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType that all implementations must have,
or #G_TYPE_INVALID if the extension point has no required type</doc>
<method name="set_required_type" c:identifier="g_io_extension_point_set_required_type">
<doc xml:space="preserve">Sets the required type for @extension_point to @type.
All implementations must henceforth have this type.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @type has already been registered as an extension for this
extension point, the existing #GIOExtension object is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIOExtension object for #GType</doc>
<type name="IOExtension" c:type="GIOExtension*"/>
</function>
<function name="lookup" c:identifier="g_io_extension_point_lookup">
<doc xml:space="preserve">Looks up an existing extension point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GIOExtensionPoint, or %NULL if there
is no registered extension point with the given name.</doc>
</function>
<function name="register" c:identifier="g_io_extension_point_register">
<doc xml:space="preserve">Registers an extension point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GIOExtensionPoint. This object is
owned by GIO and should not be freed.</doc>
<doc xml:space="preserve">Provides an interface and default functions for loading and unloading
modules. This is used internally to make GIO extensible, but can also
be used by others to implement module loading.</doc>
-
<implements name="GObject.TypePlugin"/>
<constructor name="new" c:identifier="g_io_module_new">
<doc xml:space="preserve">Creates a new GIOModule that will load the specific
shared library when in use.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIOModule from given @filename,
or %NULL on error.</doc>
Using the new symbol names avoids name clashes when building modules
statically. The old symbol names continue to be supported, but cannot be used
for static builds.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A %NULL-terminated array of strings,
listing the supported extension points of the module. The array
Using the new symbol names avoids name clashes when building modules
statically. The old symbol names continue to be supported, but cannot be used
for static builds.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Using the new symbol names avoids name clashes when building modules
statically. The old symbol names continue to be supported, but cannot be used
for static builds.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
</class>
- <record name="IOModuleClass" c:type="GIOModuleClass" disguised="1" glib:is-gtype-struct-for="IOModule">
-
- </record>
+ <record name="IOModuleClass" c:type="GIOModuleClass" disguised="1" glib:is-gtype-struct-for="IOModule"/>
<record name="IOModuleScope" c:type="GIOModuleScope" disguised="1" version="2.30">
<doc xml:space="preserve">Represents a scope for loading IO modules. A scope can be used for blocking
duplicate modules, or blocking a module you don't want to load.
The scope can be used with g_io_modules_load_all_in_directory_with_scope()
or g_io_modules_scan_all_in_directory_with_scope().</doc>
-
<method name="block" c:identifier="g_io_module_scope_block" version="2.30">
<doc xml:space="preserve">Block modules with the given @basename from being loaded when
this scope is used with g_io_modules_scan_all_in_directory_with_scope()
or g_io_modules_load_all_in_directory_with_scope().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="free" c:identifier="g_io_module_scope_free" version="2.30">
<doc xml:space="preserve">Free a module scope.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Specify the %G_IO_MODULE_SCOPE_BLOCK_DUPLICATES flag to block modules
which have the same base name as a module that has already been seen
in this scope.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new module scope</doc>
<type name="IOModuleScope" c:type="GIOModuleScope*"/>
</enumeration>
<record name="IOSchedulerJob" c:type="GIOSchedulerJob" disguised="1">
<doc xml:space="preserve">Opaque class for defining and scheduling IO jobs.</doc>
-
<method name="send_to_mainloop" c:identifier="g_io_scheduler_job_send_to_mainloop" deprecated="1">
<doc xml:space="preserve">Used from an I/O job to send a callback to be run in the thread
that the job was started from, waiting for the result (and thus
blocking the I/O job).</doc>
<doc-deprecated xml:space="preserve">Use g_main_context_invoke().</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The return value of @func</doc>
<type name="gboolean" c:type="gboolean"/>
@func is called, either by passing %NULL as @notify to
g_io_scheduler_push_job() or by using refcounting for @user_data.</doc>
<doc-deprecated xml:space="preserve">Use g_main_context_invoke().</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Long-running jobs should periodically check the @cancellable
to see if they have been cancelled.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if this function should be called again to
complete the job, %FALSE if the job is complete (or cancelled)</doc>
the wrapper stream is idle. Note that the semantics of such operations may
not be well-defined due to the state the wrapper stream leaves the base
stream in (though they are guaranteed not to crash).</doc>
-
<function name="splice_finish" c:identifier="g_io_stream_splice_finish" version="2.28" throws="1">
<doc xml:space="preserve">Finishes an asynchronous io stream splice operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
The asynchronous methods have a default fallback that uses threads
to implement asynchronicity, so they are optional for inheriting
classes. However, if you override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="close_finish" invoker="close_finish" version="2.22" throws="1">
<doc xml:space="preserve">Closes a stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if stream was successfully closed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<virtual-method name="get_input_stream" invoker="get_input_stream" version="2.22">
<doc xml:space="preserve">Gets the input stream for this object. This is used
for reading.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GInputStream, owned by the #GIOStream.
Do not free.</doc>
<virtual-method name="get_output_stream" invoker="get_output_stream" version="2.22">
<doc xml:space="preserve">Gets the output stream for this object. This is used for
writing.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GOutputStream, owned by the #GIOStream.
Do not free.</doc>
</virtual-method>
<method name="clear_pending" c:identifier="g_io_stream_clear_pending" version="2.22">
<doc xml:space="preserve">Clears the pending flag on @stream.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The default implementation of this method just calls close on the
individual input/output streams.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure</doc>
<type name="gboolean" c:type="gboolean"/>
The asynchronous methods have a default fallback that uses threads
to implement asynchronicity, so they are optional for inheriting
classes. However, if you override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="close_finish" c:identifier="g_io_stream_close_finish" version="2.22" throws="1">
<doc xml:space="preserve">Closes a stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if stream was successfully closed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_input_stream" c:identifier="g_io_stream_get_input_stream" version="2.22">
<doc xml:space="preserve">Gets the input stream for this object. This is used
for reading.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GInputStream, owned by the #GIOStream.
Do not free.</doc>
<method name="get_output_stream" c:identifier="g_io_stream_get_output_stream" version="2.22">
<doc xml:space="preserve">Gets the output stream for this object. This is used for
writing.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GOutputStream, owned by the #GIOStream.
Do not free.</doc>
</method>
<method name="has_pending" c:identifier="g_io_stream_has_pending" version="2.22">
<doc xml:space="preserve">Checks if a stream has pending actions.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream has pending actions.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_closed" c:identifier="g_io_stream_is_closed" version="2.22">
<doc xml:space="preserve">Checks if a stream is closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream is closed.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Sets @stream to have actions pending. If the pending flag is
already set or @stream is closed, it will return %FALSE and set
@error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if pending was previously unset and is now set.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished @callback will be called.
You can then call g_io_stream_splice_finish() to get the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<type name="IOStreamPrivate" c:type="GIOStreamPrivate*"/>
</field>
</class>
- <record name="IOStreamAdapter" c:type="GIOStreamAdapter" disguised="1">
-
- </record>
+ <record name="IOStreamAdapter" c:type="GIOStreamAdapter" disguised="1"/>
<record name="IOStreamClass" c:type="GIOStreamClass" glib:is-gtype-struct-for="IOStream">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_input_stream">
<callback name="get_input_stream">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GInputStream, owned by the #GIOStream.
Do not free.</doc>
</field>
<field name="get_output_stream">
<callback name="get_output_stream">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GOutputStream, owned by the #GIOStream.
Do not free.</doc>
</field>
<field name="close_fn">
<callback name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="close_async">
<callback name="close_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="close_finish">
<callback name="close_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if stream was successfully closed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved7" introspectable="0">
<callback name="_g_reserved7">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved8" introspectable="0">
<callback name="_g_reserved8">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved9" introspectable="0">
<callback name="_g_reserved9">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved10" introspectable="0">
<callback name="_g_reserved10">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="IOStreamPrivate" c:type="GIOStreamPrivate" disguised="1">
-
- </record>
+ <record name="IOStreamPrivate" c:type="GIOStreamPrivate" disguised="1"/>
<bitfield name="IOStreamSpliceFlags" version="2.28" glib:type-name="GIOStreamSpliceFlags" glib:get-type="g_io_stream_splice_flags_get_type" c:type="GIOStreamSpliceFlags">
<doc xml:space="preserve">GIOStreamSpliceFlags determine how streams should be spliced.</doc>
<member name="none" value="0" c:identifier="G_IO_STREAM_SPLICE_NONE" glib:nick="none">
</member>
</bitfield>
<function-macro name="IO_IS_MODULE" c:identifier="G_IO_IS_MODULE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IO_IS_MODULE_CLASS" c:identifier="G_IO_IS_MODULE_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IO_MODULE" c:identifier="G_IO_MODULE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IO_MODULE_CLASS" c:identifier="G_IO_MODULE_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IO_MODULE_GET_CLASS" c:identifier="G_IO_MODULE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IO_STREAM" c:identifier="G_IO_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IO_STREAM_CLASS" c:identifier="G_IO_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IO_STREAM_GET_CLASS" c:identifier="G_IO_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ACTION" c:identifier="G_IS_ACTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ACTION_GROUP" c:identifier="G_IS_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ACTION_MAP" c:identifier="G_IS_ACTION_MAP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APPLICATION" c:identifier="G_IS_APPLICATION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APPLICATION_CLASS" c:identifier="G_IS_APPLICATION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APPLICATION_COMMAND_LINE" c:identifier="G_IS_APPLICATION_COMMAND_LINE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APPLICATION_COMMAND_LINE_CLASS" c:identifier="G_IS_APPLICATION_COMMAND_LINE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APP_INFO" c:identifier="G_IS_APP_INFO" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APP_INFO_MONITOR" c:identifier="G_IS_APP_INFO_MONITOR" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APP_LAUNCH_CONTEXT" c:identifier="G_IS_APP_LAUNCH_CONTEXT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_APP_LAUNCH_CONTEXT_CLASS" c:identifier="G_IS_APP_LAUNCH_CONTEXT_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ASYNC_INITABLE" c:identifier="G_IS_ASYNC_INITABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ASYNC_RESULT" c:identifier="G_IS_ASYNC_RESULT" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BUFFERED_INPUT_STREAM" c:identifier="G_IS_BUFFERED_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BUFFERED_INPUT_STREAM_CLASS" c:identifier="G_IS_BUFFERED_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BUFFERED_OUTPUT_STREAM" c:identifier="G_IS_BUFFERED_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BUFFERED_OUTPUT_STREAM_CLASS" c:identifier="G_IS_BUFFERED_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_BYTES_ICON" c:identifier="G_IS_BYTES_ICON" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CANCELLABLE" c:identifier="G_IS_CANCELLABLE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CANCELLABLE_CLASS" c:identifier="G_IS_CANCELLABLE_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CHARSET_CONVERTER" c:identifier="G_IS_CHARSET_CONVERTER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CHARSET_CONVERTER_CLASS" c:identifier="G_IS_CHARSET_CONVERTER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONVERTER" c:identifier="G_IS_CONVERTER" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONVERTER_INPUT_STREAM" c:identifier="G_IS_CONVERTER_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONVERTER_INPUT_STREAM_CLASS" c:identifier="G_IS_CONVERTER_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONVERTER_OUTPUT_STREAM" c:identifier="G_IS_CONVERTER_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CONVERTER_OUTPUT_STREAM_CLASS" c:identifier="G_IS_CONVERTER_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CREDENTIALS" c:identifier="G_IS_CREDENTIALS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_CREDENTIALS_CLASS" c:identifier="G_IS_CREDENTIALS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DATAGRAM_BASED" c:identifier="G_IS_DATAGRAM_BASED" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DATA_INPUT_STREAM" c:identifier="G_IS_DATA_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DATA_INPUT_STREAM_CLASS" c:identifier="G_IS_DATA_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DATA_OUTPUT_STREAM" c:identifier="G_IS_DATA_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DATA_OUTPUT_STREAM_CLASS" c:identifier="G_IS_DATA_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_ACTION_GROUP" c:identifier="G_IS_DBUS_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_ACTION_GROUP_CLASS" c:identifier="G_IS_DBUS_ACTION_GROUP_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_AUTH_OBSERVER" c:identifier="G_IS_DBUS_AUTH_OBSERVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_CONNECTION" c:identifier="G_IS_DBUS_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_INTERFACE" c:identifier="G_IS_DBUS_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_INTERFACE_SKELETON" c:identifier="G_IS_DBUS_INTERFACE_SKELETON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_INTERFACE_SKELETON_CLASS" c:identifier="G_IS_DBUS_INTERFACE_SKELETON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_MENU_MODEL" c:identifier="G_IS_DBUS_MENU_MODEL" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_MESSAGE" c:identifier="G_IS_DBUS_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_METHOD_INVOCATION" c:identifier="G_IS_DBUS_METHOD_INVOCATION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT" c:identifier="G_IS_DBUS_OBJECT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_MANAGER" c:identifier="G_IS_DBUS_OBJECT_MANAGER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_MANAGER_CLIENT" c:identifier="G_IS_DBUS_OBJECT_MANAGER_CLIENT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_MANAGER_CLIENT_CLASS" c:identifier="G_IS_DBUS_OBJECT_MANAGER_CLIENT_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_MANAGER_SERVER" c:identifier="G_IS_DBUS_OBJECT_MANAGER_SERVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_MANAGER_SERVER_CLASS" c:identifier="G_IS_DBUS_OBJECT_MANAGER_SERVER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_PROXY" c:identifier="G_IS_DBUS_OBJECT_PROXY" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_PROXY_CLASS" c:identifier="G_IS_DBUS_OBJECT_PROXY_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_SKELETON" c:identifier="G_IS_DBUS_OBJECT_SKELETON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_OBJECT_SKELETON_CLASS" c:identifier="G_IS_DBUS_OBJECT_SKELETON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_PROXY" c:identifier="G_IS_DBUS_PROXY" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_PROXY_CLASS" c:identifier="G_IS_DBUS_PROXY_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DBUS_SERVER" c:identifier="G_IS_DBUS_SERVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DESKTOP_APP_INFO" c:identifier="G_IS_DESKTOP_APP_INFO" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DESKTOP_APP_INFO_CLASS" c:identifier="G_IS_DESKTOP_APP_INFO_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DESKTOP_APP_INFO_LOOKUP" c:identifier="G_IS_DESKTOP_APP_INFO_LOOKUP" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DRIVE" c:identifier="G_IS_DRIVE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DTLS_CLIENT_CONNECTION" c:identifier="G_IS_DTLS_CLIENT_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DTLS_CONNECTION" c:identifier="G_IS_DTLS_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DTLS_SERVER_CONNECTION" c:identifier="G_IS_DTLS_SERVER_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_EMBLEM" c:identifier="G_IS_EMBLEM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_EMBLEMED_ICON" c:identifier="G_IS_EMBLEMED_ICON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_EMBLEMED_ICON_CLASS" c:identifier="G_IS_EMBLEMED_ICON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_EMBLEM_CLASS" c:identifier="G_IS_EMBLEM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE" c:identifier="G_IS_FILE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILENAME_COMPLETER" c:identifier="G_IS_FILENAME_COMPLETER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILENAME_COMPLETER_CLASS" c:identifier="G_IS_FILENAME_COMPLETER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_DESCRIPTOR_BASED" c:identifier="G_IS_FILE_DESCRIPTOR_BASED" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_ENUMERATOR" c:identifier="G_IS_FILE_ENUMERATOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_ENUMERATOR_CLASS" c:identifier="G_IS_FILE_ENUMERATOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_ICON" c:identifier="G_IS_FILE_ICON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_ICON_CLASS" c:identifier="G_IS_FILE_ICON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_INFO" c:identifier="G_IS_FILE_INFO" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_INFO_CLASS" c:identifier="G_IS_FILE_INFO_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_INPUT_STREAM" c:identifier="G_IS_FILE_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_INPUT_STREAM_CLASS" c:identifier="G_IS_FILE_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_IO_STREAM" c:identifier="G_IS_FILE_IO_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_IO_STREAM_CLASS" c:identifier="G_IS_FILE_IO_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_MONITOR" c:identifier="G_IS_FILE_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_MONITOR_CLASS" c:identifier="G_IS_FILE_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_OUTPUT_STREAM" c:identifier="G_IS_FILE_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILE_OUTPUT_STREAM_CLASS" c:identifier="G_IS_FILE_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILTER_INPUT_STREAM" c:identifier="G_IS_FILTER_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILTER_INPUT_STREAM_CLASS" c:identifier="G_IS_FILTER_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILTER_OUTPUT_STREAM" c:identifier="G_IS_FILTER_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FILTER_OUTPUT_STREAM_CLASS" c:identifier="G_IS_FILTER_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ICON" c:identifier="G_IS_ICON" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INET_ADDRESS" c:identifier="G_IS_INET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INET_ADDRESS_CLASS" c:identifier="G_IS_INET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INET_ADDRESS_MASK" c:identifier="G_IS_INET_ADDRESS_MASK" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INET_ADDRESS_MASK_CLASS" c:identifier="G_IS_INET_ADDRESS_MASK_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INET_SOCKET_ADDRESS" c:identifier="G_IS_INET_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INET_SOCKET_ADDRESS_CLASS" c:identifier="G_IS_INET_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INITABLE" c:identifier="G_IS_INITABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INPUT_STREAM" c:identifier="G_IS_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INPUT_STREAM_CLASS" c:identifier="G_IS_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_IO_STREAM" c:identifier="G_IS_IO_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_IO_STREAM_CLASS" c:identifier="G_IS_IO_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_LOADABLE_ICON" c:identifier="G_IS_LOADABLE_ICON" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MEMORY_INPUT_STREAM" c:identifier="G_IS_MEMORY_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MEMORY_INPUT_STREAM_CLASS" c:identifier="G_IS_MEMORY_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MEMORY_MONITOR" c:identifier="G_IS_MEMORY_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MEMORY_OUTPUT_STREAM" c:identifier="G_IS_MEMORY_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MEMORY_OUTPUT_STREAM_CLASS" c:identifier="G_IS_MEMORY_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU" c:identifier="G_IS_MENU" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU_ATTRIBUTE_ITER" c:identifier="G_IS_MENU_ATTRIBUTE_ITER" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU_ATTRIBUTE_ITER_CLASS" c:identifier="G_IS_MENU_ATTRIBUTE_ITER_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU_ITEM" c:identifier="G_IS_MENU_ITEM" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU_LINK_ITER" c:identifier="G_IS_MENU_LINK_ITER" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU_LINK_ITER_CLASS" c:identifier="G_IS_MENU_LINK_ITER_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU_MODEL" c:identifier="G_IS_MENU_MODEL" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MENU_MODEL_CLASS" c:identifier="G_IS_MENU_MODEL_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MOUNT" c:identifier="G_IS_MOUNT" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MOUNT_OPERATION" c:identifier="G_IS_MOUNT_OPERATION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MOUNT_OPERATION_CLASS" c:identifier="G_IS_MOUNT_OPERATION_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NATIVE_SOCKET_ADDRESS" c:identifier="G_IS_NATIVE_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NATIVE_SOCKET_ADDRESS_CLASS" c:identifier="G_IS_NATIVE_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NATIVE_VOLUME_MONITOR" c:identifier="G_IS_NATIVE_VOLUME_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NATIVE_VOLUME_MONITOR_CLASS" c:identifier="G_IS_NATIVE_VOLUME_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NETWORK_ADDRESS" c:identifier="G_IS_NETWORK_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NETWORK_ADDRESS_CLASS" c:identifier="G_IS_NETWORK_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NETWORK_MONITOR" c:identifier="G_IS_NETWORK_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NETWORK_SERVICE" c:identifier="G_IS_NETWORK_SERVICE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NETWORK_SERVICE_CLASS" c:identifier="G_IS_NETWORK_SERVICE_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NOTIFICATION" c:identifier="G_IS_NOTIFICATION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_OUTPUT_STREAM" c:identifier="G_IS_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_OUTPUT_STREAM_CLASS" c:identifier="G_IS_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PERMISSION" c:identifier="G_IS_PERMISSION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PERMISSION_CLASS" c:identifier="G_IS_PERMISSION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_POLLABLE_INPUT_STREAM" c:identifier="G_IS_POLLABLE_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_POLLABLE_OUTPUT_STREAM" c:identifier="G_IS_POLLABLE_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROPERTY_ACTION" c:identifier="G_IS_PROPERTY_ACTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY" c:identifier="G_IS_PROXY" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_ADDRESS" c:identifier="G_IS_PROXY_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_ADDRESS_CLASS" c:identifier="G_IS_PROXY_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_ADDRESS_ENUMERATOR" c:identifier="G_IS_PROXY_ADDRESS_ENUMERATOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_ADDRESS_ENUMERATOR_CLASS" c:identifier="G_IS_PROXY_ADDRESS_ENUMERATOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_RESOLVER" c:identifier="G_IS_PROXY_RESOLVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_REMOTE_ACTION_GROUP" c:identifier="G_IS_REMOTE_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RESOLVER" c:identifier="G_IS_RESOLVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_RESOLVER_CLASS" c:identifier="G_IS_RESOLVER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SEEKABLE" c:identifier="G_IS_SEEKABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SETTINGS" c:identifier="G_IS_SETTINGS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SETTINGS_BACKEND" c:identifier="G_IS_SETTINGS_BACKEND" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SETTINGS_BACKEND_CLASS" c:identifier="G_IS_SETTINGS_BACKEND_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SETTINGS_CLASS" c:identifier="G_IS_SETTINGS_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_ACTION" c:identifier="G_IS_SIMPLE_ACTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_ACTION_GROUP" c:identifier="G_IS_SIMPLE_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_ACTION_GROUP_CLASS" c:identifier="G_IS_SIMPLE_ACTION_GROUP_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_ASYNC_RESULT" c:identifier="G_IS_SIMPLE_ASYNC_RESULT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_ASYNC_RESULT_CLASS" c:identifier="G_IS_SIMPLE_ASYNC_RESULT_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_IO_STREAM" c:identifier="G_IS_SIMPLE_IO_STREAM" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_PERMISSION" c:identifier="G_IS_SIMPLE_PERMISSION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_PROXY_RESOLVER" c:identifier="G_IS_SIMPLE_PROXY_RESOLVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SIMPLE_PROXY_RESOLVER_CLASS" c:identifier="G_IS_SIMPLE_PROXY_RESOLVER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET" c:identifier="G_IS_SOCKET" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_ADDRESS" c:identifier="G_IS_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_ADDRESS_CLASS" c:identifier="G_IS_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_ADDRESS_ENUMERATOR" c:identifier="G_IS_SOCKET_ADDRESS_ENUMERATOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_ADDRESS_ENUMERATOR_CLASS" c:identifier="G_IS_SOCKET_ADDRESS_ENUMERATOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CLASS" c:identifier="G_IS_SOCKET_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CLIENT" c:identifier="G_IS_SOCKET_CLIENT" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CLIENT_CLASS" c:identifier="G_IS_SOCKET_CLIENT_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CONNECTABLE" c:identifier="G_IS_SOCKET_CONNECTABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CONNECTION" c:identifier="G_IS_SOCKET_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CONNECTION_CLASS" c:identifier="G_IS_SOCKET_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CONTROL_MESSAGE" c:identifier="G_IS_SOCKET_CONTROL_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_CONTROL_MESSAGE_CLASS" c:identifier="G_IS_SOCKET_CONTROL_MESSAGE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_LISTENER" c:identifier="G_IS_SOCKET_LISTENER" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_LISTENER_CLASS" c:identifier="G_IS_SOCKET_LISTENER_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_SERVICE" c:identifier="G_IS_SOCKET_SERVICE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SOCKET_SERVICE_CLASS" c:identifier="G_IS_SOCKET_SERVICE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SUBPROCESS" c:identifier="G_IS_SUBPROCESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_SUBPROCESS_LAUNCHER" c:identifier="G_IS_SUBPROCESS_LAUNCHER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TASK" c:identifier="G_IS_TASK" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TASK_CLASS" c:identifier="G_IS_TASK_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TCP_CONNECTION" c:identifier="G_IS_TCP_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TCP_CONNECTION_CLASS" c:identifier="G_IS_TCP_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TCP_WRAPPER_CONNECTION" c:identifier="G_IS_TCP_WRAPPER_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TCP_WRAPPER_CONNECTION_CLASS" c:identifier="G_IS_TCP_WRAPPER_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TEST_DBUS" c:identifier="G_IS_TEST_DBUS" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_THEMED_ICON" c:identifier="G_IS_THEMED_ICON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_THEMED_ICON_CLASS" c:identifier="G_IS_THEMED_ICON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_THREADED_SOCKET_SERVICE" c:identifier="G_IS_THREADED_SOCKET_SERVICE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_THREADED_SOCKET_SERVICE_CLASS" c:identifier="G_IS_THREADED_SOCKET_SERVICE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_BACKEND" c:identifier="G_IS_TLS_BACKEND" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_CERTIFICATE" c:identifier="G_IS_TLS_CERTIFICATE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_CERTIFICATE_CLASS" c:identifier="G_IS_TLS_CERTIFICATE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_CLIENT_CONNECTION" c:identifier="G_IS_TLS_CLIENT_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_CONNECTION" c:identifier="G_IS_TLS_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_CONNECTION_CLASS" c:identifier="G_IS_TLS_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_DATABASE" c:identifier="G_IS_TLS_DATABASE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_DATABASE_CLASS" c:identifier="G_IS_TLS_DATABASE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_FILE_DATABASE" c:identifier="G_IS_TLS_FILE_DATABASE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_INTERACTION" c:identifier="G_IS_TLS_INTERACTION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_INTERACTION_CLASS" c:identifier="G_IS_TLS_INTERACTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_PASSWORD" c:identifier="G_IS_TLS_PASSWORD" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_PASSWORD_CLASS" c:identifier="G_IS_TLS_PASSWORD_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TLS_SERVER_CONNECTION" c:identifier="G_IS_TLS_SERVER_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_CONNECTION" c:identifier="G_IS_UNIX_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_CONNECTION_CLASS" c:identifier="G_IS_UNIX_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_CREDENTIALS_MESSAGE" c:identifier="G_IS_UNIX_CREDENTIALS_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_CREDENTIALS_MESSAGE_CLASS" c:identifier="G_IS_UNIX_CREDENTIALS_MESSAGE_CLASS" introspectable="0">
-
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_FD_LIST" c:identifier="G_IS_UNIX_FD_LIST" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_FD_LIST_CLASS" c:identifier="G_IS_UNIX_FD_LIST_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_FD_MESSAGE" c:identifier="G_IS_UNIX_FD_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_FD_MESSAGE_CLASS" c:identifier="G_IS_UNIX_FD_MESSAGE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_INPUT_STREAM" c:identifier="G_IS_UNIX_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_INPUT_STREAM_CLASS" c:identifier="G_IS_UNIX_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_MOUNT_MONITOR" c:identifier="G_IS_UNIX_MOUNT_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_MOUNT_MONITOR_CLASS" c:identifier="G_IS_UNIX_MOUNT_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_OUTPUT_STREAM" c:identifier="G_IS_UNIX_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_OUTPUT_STREAM_CLASS" c:identifier="G_IS_UNIX_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_SOCKET_ADDRESS" c:identifier="G_IS_UNIX_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_UNIX_SOCKET_ADDRESS_CLASS" c:identifier="G_IS_UNIX_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VFS" c:identifier="G_IS_VFS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VFS_CLASS" c:identifier="G_IS_VFS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VOLUME" c:identifier="G_IS_VOLUME" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VOLUME_MONITOR" c:identifier="G_IS_VOLUME_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VOLUME_MONITOR_CLASS" c:identifier="G_IS_VOLUME_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ZLIB_COMPRESSOR" c:identifier="G_IS_ZLIB_COMPRESSOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ZLIB_COMPRESSOR_CLASS" c:identifier="G_IS_ZLIB_COMPRESSOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ZLIB_DECOMPRESSOR" c:identifier="G_IS_ZLIB_DECOMPRESSOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ZLIB_DECOMPRESSOR_CLASS" c:identifier="G_IS_ZLIB_DECOMPRESSOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
implementation of g_icon_serialize() that gives a result that is
understood by g_icon_deserialize(), yielding one of the built-in icon
types.</doc>
-
<function name="deserialize" c:identifier="g_icon_deserialize" version="2.38">
<doc xml:space="preserve">Deserializes a #GIcon previously serialized using g_icon_serialize().</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GIcon, or %NULL when deserialization fails.</doc>
<type name="Icon" c:type="GIcon*"/>
</return-value>
</function>
<function name="hash" c:identifier="g_icon_hash">
<doc xml:space="preserve">Gets a hash for an icon.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint containing a hash for the @icon, suitable for
use in a #GHashTable or similar data structure.</doc>
If your application or library provides one or more #GIcon
implementations you need to ensure that each #GType is registered
with the type system prior to calling g_icon_new_for_string().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">An object implementing the #GIcon
interface or %NULL if @error is set.</doc>
</function>
<virtual-method name="equal" invoker="equal">
<doc xml:space="preserve">Checks if two icons are equal.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @icon1 is equal to @icon2. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="hash" invoker="hash">
<doc xml:space="preserve">Gets a hash for an icon.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint containing a hash for the @icon, suitable for
use in a #GHashTable or similar data structure.</doc>
As serialization will avoid using raw icon data when possible, it only
makes sense to transfer the #GVariant between processes on the same machine,
(as opposed to over the network), and within the same file system namespace.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVariant, or %NULL when serialization fails. The #GVariant will not be floating.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
- If @icon is a #GThemedIcon with exactly one name and no fallbacks,
the encoding is simply the name (such as `network-server`).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An allocated NUL-terminated UTF8 string or
%NULL if @icon can't be serialized. Use g_free() to free.</doc>
</virtual-method>
<method name="equal" c:identifier="g_icon_equal">
<doc xml:space="preserve">Checks if two icons are equal.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @icon1 is equal to @icon2. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
As serialization will avoid using raw icon data when possible, it only
makes sense to transfer the #GVariant between processes on the same machine,
(as opposed to over the network), and within the same file system namespace.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVariant, or %NULL when serialization fails. The #GVariant will not be floating.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
- If @icon is a #GThemedIcon with exactly one name and no fallbacks,
the encoding is simply the name (such as `network-server`).</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">An allocated NUL-terminated UTF8 string or
%NULL if @icon can't be serialized. Use g_free() to free.</doc>
<doc xml:space="preserve">GIconIface is used to implement GIcon types for various
different systems. See #GThemedIcon and #GLoadableIcon for
examples of how to implement this interface.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="hash">
<callback name="hash">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint containing a hash for the @icon, suitable for
use in a #GHashTable or similar data structure.</doc>
</field>
<field name="equal">
<callback name="equal">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @icon1 is equal to @icon2. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="to_tokens" introspectable="0">
<callback name="to_tokens" introspectable="0">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An allocated NUL-terminated UTF8 string or
%NULL if @icon can't be serialized. Use g_free() to free.</doc>
</field>
<field name="from_tokens" introspectable="0">
<callback name="from_tokens" introspectable="0" throws="1">
-
<return-value>
<type name="Icon" c:type="GIcon*"/>
</return-value>
</field>
<field name="serialize">
<callback name="serialize">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVariant, or %NULL when serialization fails. The #GVariant will not be floating.</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
To actually connect to a remote host, you will need a
#GInetSocketAddress (which includes a #GInetAddress as well as a
port number).</doc>
-
<constructor name="new_any" c:identifier="g_inet_address_new_any" version="2.22">
<doc xml:space="preserve">Creates a #GInetAddress for the "any" address (unassigned/"don't
care") for @family.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInetAddress corresponding to the "any" address
for @family.
<doc xml:space="preserve">Creates a new #GInetAddress from the given @family and @bytes.
@bytes should be 4 bytes for %G_SOCKET_FAMILY_IPV4 and 16 bytes for
%G_SOCKET_FAMILY_IPV6.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInetAddress corresponding to @family and @bytes.
Free the returned object with g_object_unref().</doc>
</constructor>
<constructor name="new_from_string" c:identifier="g_inet_address_new_from_string" version="2.22">
<doc xml:space="preserve">Parses @string as an IP address and creates a new #GInetAddress.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GInetAddress corresponding
to @string, or %NULL if @string could not be parsed.
</constructor>
<constructor name="new_loopback" c:identifier="g_inet_address_new_loopback" version="2.22">
<doc xml:space="preserve">Creates a #GInetAddress for the loopback address for @family.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInetAddress corresponding to the loopback address
for @family.
</constructor>
<virtual-method name="to_bytes" invoker="to_bytes" version="2.22" introspectable="0">
<doc xml:space="preserve">Gets the raw binary address data from @address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a pointer to an internal array of the bytes in @address,
which should not be modified, stored, or freed. The size of this
</virtual-method>
<virtual-method name="to_string" invoker="to_string" version="2.22">
<doc xml:space="preserve">Converts @address to string form.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a representation of @address as a string, which should be
freed after use.</doc>
</virtual-method>
<method name="equal" c:identifier="g_inet_address_equal" version="2.30">
<doc xml:space="preserve">Checks if two #GInetAddress instances are equal, e.g. the same address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address and @other_address are equal, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_family" c:identifier="g_inet_address_get_family" version="2.22">
<doc xml:space="preserve">Gets @address's family</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@address's family</doc>
<type name="SocketFamily" c:type="GSocketFamily"/>
</method>
<method name="get_is_any" c:identifier="g_inet_address_get_is_any" version="2.22">
<doc xml:space="preserve">Tests whether @address is the "any" address for its family.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is the "any" address for its family.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Tests whether @address is a link-local address (that is, if it
identifies a host on a local network that is not connected to the
Internet).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is a link-local address.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_loopback" c:identifier="g_inet_address_get_is_loopback" version="2.22">
<doc xml:space="preserve">Tests whether @address is the loopback address for its family.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is the loopback address for its family.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_mc_global" c:identifier="g_inet_address_get_is_mc_global" version="2.22">
<doc xml:space="preserve">Tests whether @address is a global multicast address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is a global multicast address.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_mc_link_local" c:identifier="g_inet_address_get_is_mc_link_local" version="2.22">
<doc xml:space="preserve">Tests whether @address is a link-local multicast address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is a link-local multicast address.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_mc_node_local" c:identifier="g_inet_address_get_is_mc_node_local" version="2.22">
<doc xml:space="preserve">Tests whether @address is a node-local multicast address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is a node-local multicast address.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_mc_org_local" c:identifier="g_inet_address_get_is_mc_org_local" version="2.22">
<doc xml:space="preserve">Tests whether @address is an organization-local multicast address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is an organization-local multicast address.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_mc_site_local" c:identifier="g_inet_address_get_is_mc_site_local" version="2.22">
<doc xml:space="preserve">Tests whether @address is a site-local multicast address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is a site-local multicast address.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_is_multicast" c:identifier="g_inet_address_get_is_multicast" version="2.22">
<doc xml:space="preserve">Tests whether @address is a multicast address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is a multicast address.</doc>
<type name="gboolean" c:type="gboolean"/>
(that is, the address identifies a host on a local network that can
not be reached directly from the Internet, but which may have
outgoing Internet connectivity via a NAT or firewall).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @address is a site-local address.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_native_size" c:identifier="g_inet_address_get_native_size" version="2.22">
<doc xml:space="preserve">Gets the size of the native raw binary address for @address. This
is the size of the data that you get from g_inet_address_to_bytes().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes used for the native version of @address.</doc>
<type name="gsize" c:type="gsize"/>
</method>
<method name="to_bytes" c:identifier="g_inet_address_to_bytes" version="2.22" introspectable="0">
<doc xml:space="preserve">Gets the raw binary address data from @address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a pointer to an internal array of the bytes in @address,
which should not be modified, stored, or freed. The size of this
</method>
<method name="to_string" c:identifier="g_inet_address_to_string" version="2.22">
<doc xml:space="preserve">Converts @address to string form.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a representation of @address as a string, which should be
freed after use.</doc>
</field>
</class>
<record name="InetAddressClass" c:type="GInetAddressClass" glib:is-gtype-struct-for="InetAddress">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="to_string">
<callback name="to_string">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a representation of @address as a string, which should be
freed after use.</doc>
</field>
<field name="to_bytes">
<callback name="to_bytes">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a pointer to an internal array of the bytes in @address,
which should not be modified, stored, or freed. The size of this
described by a base address and a length indicating how many bits
of the base address are relevant for matching purposes. These are
often given in string form. Eg, "10.0.0.0/8", or "fe80::/10".</doc>
-
<implements name="Initable"/>
<constructor name="new" c:identifier="g_inet_address_mask_new" version="2.32" throws="1">
<doc xml:space="preserve">Creates a new #GInetAddressMask representing all addresses whose
first @length bits match @addr.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInetAddressMask, or %NULL on error</doc>
<type name="InetAddressMask" c:type="GInetAddressMask*"/>
creates a new #GInetAddressMask. The length, if present, is
delimited by a "/". If it is not present, then the length is
assumed to be the full length of the address.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInetAddressMask corresponding to @string, or %NULL
on error.</doc>
</constructor>
<method name="equal" c:identifier="g_inet_address_mask_equal" version="2.32">
<doc xml:space="preserve">Tests if @mask and @mask2 are the same mask.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @mask and @mask2 are the same mask</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_address" c:identifier="g_inet_address_mask_get_address" version="2.32">
<doc xml:space="preserve">Gets @mask's base address</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@mask's base address</doc>
<type name="InetAddress" c:type="GInetAddress*"/>
</method>
<method name="get_family" c:identifier="g_inet_address_mask_get_family" version="2.32">
<doc xml:space="preserve">Gets the #GSocketFamily of @mask's address</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GSocketFamily of @mask's address</doc>
<type name="SocketFamily" c:type="GSocketFamily"/>
</method>
<method name="get_length" c:identifier="g_inet_address_mask_get_length" version="2.32">
<doc xml:space="preserve">Gets @mask's length</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@mask's length</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="matches" c:identifier="g_inet_address_mask_matches" version="2.32">
<doc xml:space="preserve">Tests if @address falls within the range described by @mask.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @address falls within the range described by
@mask.</doc>
</method>
<method name="to_string" c:identifier="g_inet_address_mask_to_string" version="2.32">
<doc xml:space="preserve">Converts @mask back to its corresponding string form.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string corresponding to @mask.</doc>
<type name="utf8" c:type="gchar*"/>
</field>
</class>
<record name="InetAddressMaskClass" c:type="GInetAddressMaskClass" glib:is-gtype-struct-for="InetAddressMask">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
- <record name="InetAddressMaskPrivate" c:type="GInetAddressMaskPrivate" disguised="1">
-
- </record>
- <record name="InetAddressPrivate" c:type="GInetAddressPrivate" disguised="1">
-
- </record>
+ <record name="InetAddressMaskPrivate" c:type="GInetAddressMaskPrivate" disguised="1"/>
+ <record name="InetAddressPrivate" c:type="GInetAddressPrivate" disguised="1"/>
<class name="InetSocketAddress" c:symbol-prefix="inet_socket_address" c:type="GInetSocketAddress" parent="SocketAddress" glib:type-name="GInetSocketAddress" glib:get-type="g_inet_socket_address_get_type" glib:type-struct="InetSocketAddressClass">
<doc xml:space="preserve">An IPv4 or IPv6 socket address; that is, the combination of a
#GInetAddress and a port number.</doc>
-
<implements name="SocketConnectable"/>
<constructor name="new" c:identifier="g_inet_socket_address_new" version="2.22">
<doc xml:space="preserve">Creates a new #GInetSocketAddress for @address and @port.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInetSocketAddress</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
If @address is an IPv6 address, it can also contain a scope ID
(separated from the address by a `%`).</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GInetSocketAddress,
or %NULL if @address cannot be parsed.</doc>
</constructor>
<method name="get_address" c:identifier="g_inet_socket_address_get_address" version="2.22">
<doc xml:space="preserve">Gets @address's #GInetAddress.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GInetAddress for @address, which must be
g_object_ref()'d if it will be stored</doc>
<method name="get_flowinfo" c:identifier="g_inet_socket_address_get_flowinfo" version="2.32">
<doc xml:space="preserve">Gets the `sin6_flowinfo` field from @address,
which must be an IPv6 address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the flowinfo field</doc>
<type name="guint32" c:type="guint32"/>
</method>
<method name="get_port" c:identifier="g_inet_socket_address_get_port" version="2.22">
<doc xml:space="preserve">Gets @address's port.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the port for @address</doc>
<type name="guint16" c:type="guint16"/>
<method name="get_scope_id" c:identifier="g_inet_socket_address_get_scope_id" version="2.32">
<doc xml:space="preserve">Gets the `sin6_scope_id` field from @address,
which must be an IPv6 address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the scope id field</doc>
<type name="guint32" c:type="guint32"/>
</field>
</class>
<record name="InetSocketAddressClass" c:type="GInetSocketAddressClass" glib:is-gtype-struct-for="InetSocketAddress">
-
<field name="parent_class">
<type name="SocketAddressClass" c:type="GSocketAddressClass"/>
</field>
</record>
- <record name="InetSocketAddressPrivate" c:type="GInetSocketAddressPrivate" disguised="1">
-
- </record>
+ <record name="InetSocketAddressPrivate" c:type="GInetSocketAddressPrivate" disguised="1"/>
<interface name="Initable" c:symbol-prefix="initable" c:type="GInitable" version="2.22" glib:type-name="GInitable" glib:get-type="g_initable_get_type" glib:type-struct="InitableIface">
<doc xml:space="preserve">#GInitable is implemented by objects that can fail during
initialization. If an object implements this interface then
exceptions the binding could check for objects implementing %GInitable
during normal construction and automatically initialize them, throwing
an exception on failure.</doc>
-
<function name="new" c:identifier="g_initable_new" version="2.22" introspectable="0">
<doc xml:space="preserve">Helper function for constructing #GInitable object. This is
similar to g_object_new() but also initializes the object
and returns %NULL, setting an error on failure.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated
#GObject, or %NULL on error</doc>
<doc xml:space="preserve">Helper function for constructing #GInitable object. This is
similar to g_object_new_valist() but also initializes the object
and returns %NULL, setting an error on failure.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated
#GObject, or %NULL on error</doc>
and returns %NULL, setting an error on failure.</doc>
<doc-deprecated xml:space="preserve">Use g_object_new_with_properties() and
g_initable_init() instead. See #GParameter for more information.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated
#GObject, or %NULL on error</doc>
In this pattern, a caller would expect to be able to call g_initable_init()
on the result of g_object_new(), regardless of whether it is in fact a new
instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred, this function will
return %FALSE and set @error appropriately if present.</doc>
In this pattern, a caller would expect to be able to call g_initable_init()
on the result of g_object_new(), regardless of whether it is in fact a new
instance.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred, this function will
return %FALSE and set @error appropriately if present.</doc>
<record name="InitableIface" c:type="GInitableIface" glib:is-gtype-struct-for="Initable" version="2.22">
<doc xml:space="preserve">Provides an interface for initializing object such that initialization
may fail.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="init">
<callback name="init" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error has occurred, this function will
return %FALSE and set @error appropriately if present.</doc>
Flags relevant to this message will be returned in @flags. For example,
`MSG_EOR` or `MSG_TRUNC`.</doc>
-
<field name="address" writable="1">
<doc xml:space="preserve">return location
for a #GSocketAddress, or %NULL</doc>
streaming APIs.
All of these functions have async variants too.</doc>
-
<virtual-method name="close_async" invoker="close_async">
<doc xml:space="preserve">Requests an asynchronous closes of the stream, releasing resources related to it.
When the operation is finished @callback will be called.
The asynchronous methods have a default fallback that uses threads to implement
asynchronicity, so they are optional for inheriting classes. However, if you
override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="close_finish" invoker="close_finish" throws="1">
<doc xml:space="preserve">Finishes closing a stream asynchronously, started from g_input_stream_close_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream was closed successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
The asynchronous methods have a default fallback that uses threads to implement
asynchronicity, so they are optional for inheriting classes. However, if you
override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="read_finish" invoker="read_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous stream read operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of bytes read in, or -1 on error, or 0 on end of file.</doc>
<type name="gssize" c:type="gssize"/>
</parameters>
</virtual-method>
<virtual-method name="read_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gssize" c:type="gssize"/>
</return-value>
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
operation was partially finished when the operation was cancelled the
partial result will be returned, without an error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes skipped, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
The asynchronous methods have a default fallback that uses threads to
implement asynchronicity, so they are optional for inheriting classes.
However, if you override one, you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="skip_finish" invoker="skip_finish" throws="1">
<doc xml:space="preserve">Finishes a stream skip operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the bytes skipped, or `-1` on error.</doc>
<type name="gssize" c:type="gssize"/>
</virtual-method>
<method name="clear_pending" c:identifier="g_input_stream_clear_pending">
<doc xml:space="preserve">Clears the pending flag on @stream.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
Cancelling a close will still leave the stream closed, but some streams
can use a faster close that doesn't block to e.g. check errors.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure</doc>
<type name="gboolean" c:type="gboolean"/>
The asynchronous methods have a default fallback that uses threads to implement
asynchronicity, so they are optional for inheriting classes. However, if you
override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="close_finish" c:identifier="g_input_stream_close_finish" throws="1">
<doc xml:space="preserve">Finishes closing a stream asynchronously, started from g_input_stream_close_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream was closed successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="has_pending" c:identifier="g_input_stream_has_pending">
<doc xml:space="preserve">Checks if an input stream has pending actions.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream has pending actions.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_closed" c:identifier="g_input_stream_is_closed">
<doc xml:space="preserve">Checks if an input stream is closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream is closed.</doc>
<type name="gboolean" c:type="gboolean"/>
partial result will be returned, without an error.
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes read, or -1 on error, or 0 on end of file.</doc>
<type name="gssize" c:type="gssize"/>
read before the error was encountered. This functionality is only
available from C. If you need it from another language then you must
write your own loop around g_input_stream_read().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
Any outstanding I/O request with higher priority (lower numerical
value) will be executed before an outstanding request with lower
priority. Default priority is %G_PRIORITY_DEFAULT.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
read before the error was encountered. This functionality is only
available from C. If you need it from another language then you must
write your own loop around g_input_stream_read_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
The asynchronous methods have a default fallback that uses threads to implement
asynchronicity, so they are optional for inheriting classes. However, if you
override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
partial result will be returned, without an error.
On error %NULL is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GBytes, or %NULL on error</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
Any outstanding I/O request with higher priority (lower numerical
value) will be executed before an outstanding request with lower
priority. Default priority is %G_PRIORITY_DEFAULT.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="read_bytes_finish" c:identifier="g_input_stream_read_bytes_finish" version="2.34" throws="1">
<doc xml:space="preserve">Finishes an asynchronous stream read-into-#GBytes operation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the newly-allocated #GBytes, or %NULL on error</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
</method>
<method name="read_finish" c:identifier="g_input_stream_read_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous stream read operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of bytes read in, or -1 on error, or 0 on end of file.</doc>
<type name="gssize" c:type="gssize"/>
<doc xml:space="preserve">Sets @stream to have actions pending. If the pending flag is
already set or @stream is closed, it will return %FALSE and set
@error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if pending was previously unset and is now set.</doc>
<type name="gboolean" c:type="gboolean"/>
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
operation was partially finished when the operation was cancelled the
partial result will be returned, without an error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes skipped, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
The asynchronous methods have a default fallback that uses threads to
implement asynchronicity, so they are optional for inheriting classes.
However, if you override one, you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="skip_finish" c:identifier="g_input_stream_skip_finish" throws="1">
<doc xml:space="preserve">Finishes a stream skip operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the bytes skipped, or `-1` on error.</doc>
<type name="gssize" c:type="gssize"/>
</field>
</class>
<record name="InputStreamClass" c:type="GInputStreamClass" glib:is-gtype-struct-for="InputStream">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="read_fn">
<callback name="read_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gssize" c:type="gssize"/>
</return-value>
</field>
<field name="skip">
<callback name="skip" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes skipped, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
</field>
<field name="close_fn">
<callback name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="read_async">
<callback name="read_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="read_finish">
<callback name="read_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of bytes read in, or -1 on error, or 0 on end of file.</doc>
<type name="gssize" c:type="gssize"/>
</field>
<field name="skip_async">
<callback name="skip_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="skip_finish">
<callback name="skip_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the bytes skipped, or `-1` on error.</doc>
<type name="gssize" c:type="gssize"/>
</field>
<field name="close_async">
<callback name="close_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="close_finish">
<callback name="close_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream was closed successfully.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="InputStreamPrivate" c:type="GInputStreamPrivate" disguised="1">
-
- </record>
+ <record name="InputStreamPrivate" c:type="GInputStreamPrivate" disguised="1"/>
<record name="InputVector" c:type="GInputVector" version="2.22">
<doc xml:space="preserve">Structure used for scatter/gather data input.
You generally pass in an array of #GInputVectors
and the operation will store the read data starting in the
first buffer, switching to the next as needed.</doc>
-
<field name="buffer" writable="1">
<doc xml:space="preserve">Pointer to a buffer where data will be written.</doc>
<type name="gpointer" c:type="gpointer"/>
</field>
</record>
<function-macro name="LOADABLE_ICON" c:identifier="G_LOADABLE_ICON" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="LOADABLE_ICON_GET_IFACE" c:identifier="G_LOADABLE_ICON_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
implementation, but typically it will be from the thread that owns
the [thread-default main context][g-main-context-push-thread-default]
in effect at the time that the model was created.</doc>
-
<virtual-method name="get_item" version="2.44">
<doc xml:space="preserve">Get the item at @position. If @position is greater than the number of
items in @list, %NULL is returned.
%NULL is never returned for an index that is smaller than the length
of the list. See g_list_model_get_n_items().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the object at @position.</doc>
<type name="GObject.Object" c:type="gpointer"/>
The item type of a #GListModel can not change during the life of the
model.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of the items contained in @list.</doc>
<type name="GType" c:type="GType"/>
Depending on the model implementation, calling this function may be
less efficient than iterating the list with increasing values for
@position until g_list_model_get_item() returns %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items in @list.</doc>
<type name="guint" c:type="guint"/>
%NULL is never returned for an index that is smaller than the length
of the list. See g_list_model_get_n_items().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the item at @position.</doc>
<type name="gpointer" c:type="gpointer"/>
The item type of a #GListModel can not change during the life of the
model.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of the items contained in @list.</doc>
<type name="GType" c:type="GType"/>
Depending on the model implementation, calling this function may be
less efficient than iterating the list with increasing values for
@position until g_list_model_get_item() returns %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items in @list.</doc>
<type name="guint" c:type="guint"/>
%NULL is never returned for an index that is smaller than the length
of the list. See g_list_model_get_n_items().</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the object at @position.</doc>
<type name="GObject.Object" c:type="GObject*"/>
series of accesses to the model via the API, without returning to the
mainloop, and without calling other code, will continue to view the
same contents of the model.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<record name="ListModelInterface" c:type="GListModelInterface" glib:is-gtype-struct-for="ListModel" version="2.44">
<doc xml:space="preserve">The virtual function table for #GListModel.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">parent #GTypeInterface</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_item_type">
<callback name="get_item_type">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of the items contained in @list.</doc>
<type name="GType" c:type="GType"/>
</field>
<field name="get_n_items">
<callback name="get_n_items">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items in @list.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="get_item">
<callback name="get_item">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the object at @position.</doc>
<type name="GObject.Object" c:type="gpointer"/>
It provides insertions, deletions, and lookups in logarithmic time
with a fast path for the common case of iterating the list linearly.</doc>
-
<implements name="ListModel"/>
<constructor name="new" c:identifier="g_list_store_new" version="2.44">
<doc xml:space="preserve">Creates a new #GListStore with items of type @item_type. @item_type
must be a subclass of #GObject.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GListStore</doc>
<type name="ListStore" c:type="GListStore*"/>
Use g_list_store_splice() to append multiple items at the same time
efficiently.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If you need to compare the two items with a custom comparison function, use
g_list_store_find_with_equal_func() with a custom #GEqualFunc instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Whether @store contains @item. If it was found, @position will be
set to the position where @item occurred for the first time.</doc>
comparing them with @compare_func until the first occurrence of @item which
matches. If @item was not found, then @position will not be set, and this
method will return %FALSE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Whether @store contains @item. If it was found, @position will be
set to the position where @item occurred for the first time.</doc>
Use g_list_store_splice() to insert multiple items at the same time
efficiently.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
inserting items by way of this function.
This function takes a ref on @item.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the position at which @item was inserted</doc>
<type name="guint" c:type="guint"/>
Use g_list_store_splice() to remove multiple items at the same time
efficiently.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="remove_all" c:identifier="g_list_store_remove_all" version="2.44">
<doc xml:space="preserve">Removes all items from @store.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="sort" c:identifier="g_list_store_sort" version="2.46">
<doc xml:space="preserve">Sort the items in @store according to @compare_func.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The parameters @position and @n_removals must be correct (ie:
@position + @n_removals must be less than or equal to the length of
the list at the time this function is called).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</property>
</class>
<record name="ListStoreClass" c:type="GListStoreClass" glib:is-gtype-struct-for="ListStore">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<interface name="LoadableIcon" c:symbol-prefix="loadable_icon" c:type="GLoadableIcon" glib:type-name="GLoadableIcon" glib:get-type="g_loadable_icon_get_type" glib:type-struct="LoadableIconIface">
<doc xml:space="preserve">Extends the #GIcon interface and adds the ability to
load icons from streams.</doc>
-
<prerequisite name="Icon"/>
<virtual-method name="load" invoker="load" throws="1">
<doc xml:space="preserve">Loads a loadable icon. For the asynchronous version of this function,
see g_loadable_icon_load_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream to read the icon from.</doc>
<type name="InputStream" c:type="GInputStream*"/>
<doc xml:space="preserve">Loads an icon asynchronously. To finish this function, see
g_loadable_icon_load_finish(). For the synchronous, blocking
version of this function, see g_loadable_icon_load().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="load_finish" invoker="load_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous icon load started in g_loadable_icon_load_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream to read the icon from.</doc>
<type name="InputStream" c:type="GInputStream*"/>
<method name="load" c:identifier="g_loadable_icon_load" throws="1">
<doc xml:space="preserve">Loads a loadable icon. For the asynchronous version of this function,
see g_loadable_icon_load_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream to read the icon from.</doc>
<type name="InputStream" c:type="GInputStream*"/>
<doc xml:space="preserve">Loads an icon asynchronously. To finish this function, see
g_loadable_icon_load_finish(). For the synchronous, blocking
version of this function, see g_loadable_icon_load().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="load_finish" c:identifier="g_loadable_icon_load_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous icon load started in g_loadable_icon_load_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream to read the icon from.</doc>
<type name="InputStream" c:type="GInputStream*"/>
</interface>
<record name="LoadableIconIface" c:type="GLoadableIconIface" glib:is-gtype-struct-for="LoadableIcon">
<doc xml:space="preserve">Interface for icons that can be loaded as a stream.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="load">
<callback name="load" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream to read the icon from.</doc>
<type name="InputStream" c:type="GInputStream*"/>
</field>
<field name="load_async">
<callback name="load_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="load_finish">
<callback name="load_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GInputStream to read the icon from.</doc>
<type name="InputStream" c:type="GInputStream*"/>
</field>
</record>
<function-macro name="MEMORY_INPUT_STREAM" c:identifier="G_MEMORY_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="MEMORY_INPUT_STREAM_CLASS" c:identifier="G_MEMORY_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="MEMORY_INPUT_STREAM_GET_CLASS" c:identifier="G_MEMORY_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="MEMORY_MONITOR" c:identifier="G_MEMORY_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
<constant name="MEMORY_MONITOR_EXTENSION_POINT_NAME" value="gio-memory-monitor" c:type="G_MEMORY_MONITOR_EXTENSION_POINT_NAME" version="2.64">
<doc xml:space="preserve">Extension point for memory usage monitoring functionality.
See [Extending GIO][extending-gio].</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="MEMORY_MONITOR_GET_INTERFACE" c:identifier="G_MEMORY_MONITOR_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="MEMORY_OUTPUT_STREAM" c:identifier="G_MEMORY_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="MEMORY_OUTPUT_STREAM_CLASS" c:identifier="G_MEMORY_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="MEMORY_OUTPUT_STREAM_GET_CLASS" c:identifier="G_MEMORY_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU" c:identifier="G_MENU" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
for application-wide actions.
See also g_menu_model_get_item_attribute() and g_menu_item_set_attribute().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="MENU_ATTRIBUTE_ACTION_NAMESPACE" value="action-namespace" c:type="G_MENU_ATTRIBUTE_ACTION_NAMESPACE" version="2.36">
<doc xml:space="preserve">The menu item attribute that holds the namespace for all action names in
menus that are linked from this item.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="MENU_ATTRIBUTE_ICON" value="icon" c:type="G_MENU_ATTRIBUTE_ICON" version="2.38">
This attribute is intended only to represent 'noun' icons such as
favicons for a webpage, or application icons. It should not be used
for 'verbs' (ie: stock icons).</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="MENU_ATTRIBUTE_ITER" c:identifier="G_MENU_ATTRIBUTE_ITER" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU_ATTRIBUTE_ITER_CLASS" c:identifier="G_MENU_ATTRIBUTE_ITER_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU_ATTRIBUTE_ITER_GET_CLASS" c:identifier="G_MENU_ATTRIBUTE_ITER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</function-macro>
<constant name="MENU_ATTRIBUTE_LABEL" value="label" c:type="G_MENU_ATTRIBUTE_LABEL" version="2.32">
<doc xml:space="preserve">The menu item attribute which holds the label of the item.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="MENU_ATTRIBUTE_TARGET" value="target" c:type="G_MENU_ATTRIBUTE_TARGET" version="2.32">
will be activated.
See also g_menu_item_set_action_and_target()</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="MENU_ITEM" c:identifier="G_MENU_ITEM" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU_LINK_ITER" c:identifier="G_MENU_LINK_ITER" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU_LINK_ITER_CLASS" c:identifier="G_MENU_LINK_ITER_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU_LINK_ITER_GET_CLASS" c:identifier="G_MENU_LINK_ITER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
as a header.
See also g_menu_item_set_link().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="MENU_LINK_SUBMENU" value="submenu" c:type="G_MENU_LINK_SUBMENU" version="2.32">
<doc xml:space="preserve">The name of the link that associates a menu item with a submenu.
See also g_menu_item_set_link().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="MENU_MODEL" c:identifier="G_MENU_MODEL" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU_MODEL_CLASS" c:identifier="G_MENU_MODEL_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="MENU_MODEL_GET_CLASS" c:identifier="G_MENU_MODEL_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="MOUNT" c:identifier="G_MOUNT" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="MOUNT_GET_IFACE" c:identifier="G_MOUNT_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="MOUNT_OPERATION" c:identifier="G_MOUNT_OPERATION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="MOUNT_OPERATION_CLASS" c:identifier="G_MOUNT_OPERATION_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="MOUNT_OPERATION_GET_CLASS" c:identifier="G_MOUNT_OPERATION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
As of GLib 2.34, #GMemoryInputStream implements
#GPollableInputStream.</doc>
-
<implements name="PollableInputStream"/>
<implements name="Seekable"/>
<constructor name="new" c:identifier="g_memory_input_stream_new">
<doc xml:space="preserve">Creates a new empty #GMemoryInputStream.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GInputStream</doc>
<type name="InputStream" c:type="GInputStream*"/>
</constructor>
<constructor name="new_from_bytes" c:identifier="g_memory_input_stream_new_from_bytes" version="2.34">
<doc xml:space="preserve">Creates a new #GMemoryInputStream with data from the given @bytes.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">new #GInputStream read from @bytes</doc>
<type name="InputStream" c:type="GInputStream*"/>
</constructor>
<constructor name="new_from_data" c:identifier="g_memory_input_stream_new_from_data">
<doc xml:space="preserve">Creates a new #GMemoryInputStream with data in memory of a given size.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">new #GInputStream read from @data of @len bytes.</doc>
<type name="InputStream" c:type="GInputStream*"/>
</constructor>
<method name="add_bytes" c:identifier="g_memory_input_stream_add_bytes" version="2.34">
<doc xml:space="preserve">Appends @bytes to data that can be read from the input stream.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="add_data" c:identifier="g_memory_input_stream_add_data">
<doc xml:space="preserve">Appends @data to data that can be read from the input stream</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="MemoryInputStreamClass" c:type="GMemoryInputStreamClass" glib:is-gtype-struct-for="MemoryInputStream">
-
<field name="parent_class">
<type name="InputStreamClass" c:type="GInputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="MemoryInputStreamPrivate" c:type="GMemoryInputStreamPrivate" disguised="1">
-
- </record>
+ <record name="MemoryInputStreamPrivate" c:type="GMemoryInputStreamPrivate" disguised="1"/>
<interface name="MemoryMonitor" c:symbol-prefix="memory_monitor" c:type="GMemoryMonitor" version="2.64" glib:type-name="GMemoryMonitor" glib:get-type="g_memory_monitor_get_type" glib:type-struct="MemoryMonitorInterface">
<doc xml:space="preserve">#GMemoryMonitor will monitor system memory and suggest to the application
when to free memory so as to leave more room for other applications.
Don't forget to disconnect the #GMemoryMonitor::low-memory-warning
signal, and unref the #GMemoryMonitor itself when exiting.</doc>
-
<prerequisite name="Initable"/>
<function name="dup_default" c:identifier="g_memory_monitor_dup_default" version="2.64">
<doc xml:space="preserve">Gets a reference to the default #GMemoryMonitor for the system.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to the default #GMemoryMonitor</doc>
<type name="MemoryMonitor" c:type="GMemoryMonitor*"/>
</return-value>
</function>
<virtual-method name="low_memory_warning">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<record name="MemoryMonitorInterface" c:type="GMemoryMonitorInterface" glib:is-gtype-struct-for="MemoryMonitor" version="2.64">
<doc xml:space="preserve">The virtual function table for #GMemoryMonitor.</doc>
-
<field name="g_iface" readable="0" private="1">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="low_memory_warning">
<callback name="low_memory_warning">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
As of GLib 2.34, #GMemoryOutputStream trivially implements
#GPollableOutputStream: it always polls as ready.</doc>
-
<implements name="PollableOutputStream"/>
<implements name="Seekable"/>
<constructor name="new" c:identifier="g_memory_output_stream_new" introspectable="0">
data = malloc (200);
stream3 = g_memory_output_stream_new (data, 200, NULL, free);
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly created #GMemoryOutputStream object.</doc>
<type name="OutputStream" c:type="GOutputStream*"/>
<constructor name="new_resizable" c:identifier="g_memory_output_stream_new_resizable" version="2.36">
<doc xml:space="preserve">Creates a new #GMemoryOutputStream, using g_realloc() and g_free()
for memory allocation.</doc>
-
<return-value transfer-ownership="full">
<type name="OutputStream" c:type="GOutputStream*"/>
</return-value>
Note that the returned pointer may become invalid on the next
write or truncate operation on the stream.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">pointer to the stream's data, or %NULL if the data
has been stolen</doc>
<method name="get_data_size" c:identifier="g_memory_output_stream_get_data_size" version="2.18">
<doc xml:space="preserve">Returns the number of bytes from the start up to including the last
byte written in the stream that has not been truncated away.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes written to the stream</doc>
<type name="gsize" c:type="gsize"/>
In any case, if you want the number of bytes currently written to the
stream, use g_memory_output_stream_get_data_size().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes allocated for the data buffer</doc>
<type name="gsize" c:type="gsize"/>
<method name="steal_as_bytes" c:identifier="g_memory_output_stream_steal_as_bytes" version="2.34">
<doc xml:space="preserve">Returns data from the @ostream as a #GBytes. @ostream must be
closed before calling this function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the stream's data</doc>
<type name="GLib.Bytes" c:type="GBytes*"/>
#GMemoryOutputStream:destroy-function property.
@ostream must be closed before calling this function.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the stream's data, or %NULL if it has previously
been stolen</doc>
</field>
</class>
<record name="MemoryOutputStreamClass" c:type="GMemoryOutputStreamClass" glib:is-gtype-struct-for="MemoryOutputStream">
-
<field name="parent_class">
<type name="OutputStreamClass" c:type="GOutputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="MemoryOutputStreamPrivate" c:type="GMemoryOutputStreamPrivate" disguised="1">
-
- </record>
+ <record name="MemoryOutputStreamPrivate" c:type="GMemoryOutputStreamPrivate" disguised="1"/>
<class name="Menu" c:symbol-prefix="menu" c:type="GMenu" version="2.32" parent="MenuModel" glib:type-name="GMenu" glib:get-type="g_menu_get_type">
<doc xml:space="preserve">#GMenu is a simple implementation of #GMenuModel.
You populate a #GMenu by adding #GMenuItem instances to it.
<doc xml:space="preserve">Creates a new #GMenu.
The new menu has no items.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenu</doc>
<type name="Menu" c:type="GMenu*"/>
<doc xml:space="preserve">Convenience function for appending a normal menu item to the end of
@menu. Combine g_menu_item_new() and g_menu_insert_item() for a more
flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Appends @item to the end of @menu.
See g_menu_insert_item() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for appending a section menu item to the end of
@menu. Combine g_menu_item_new_section() and g_menu_insert_item() for a
more flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for appending a submenu menu item to the end of
@menu. Combine g_menu_item_new_submenu() and g_menu_insert_item() for a
more flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function causes g_menu_model_is_mutable() to begin returning
%FALSE, which has some positive performance implications.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for inserting a normal menu item into @menu.
Combine g_menu_item_new() and g_menu_insert_item() for a more flexible
alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See g_menu_insert(), g_menu_insert_section() and
g_menu_insert_submenu() as well as "prepend" and "append" variants of
each of these functions.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for inserting a section menu item into @menu.
Combine g_menu_item_new_section() and g_menu_insert_item() for a more
flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for inserting a submenu menu item into @menu.
Combine g_menu_item_new_submenu() and g_menu_insert_item() for a more
flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for prepending a normal menu item to the start
of @menu. Combine g_menu_item_new() and g_menu_insert_item() for a more
flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Prepends @item to the start of @menu.
See g_menu_insert_item() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for prepending a section menu item to the start
of @menu. Combine g_menu_item_new_section() and g_menu_insert_item() for
a more flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Convenience function for prepending a submenu menu item to the start
of @menu. Combine g_menu_item_new_submenu() and g_menu_insert_item() for
a more flexible alternative.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is not possible to remove items by identity since items are added
to the menu simply by copying their links and attributes (ie:
identity of the item itself is not preserved).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="remove_all" c:identifier="g_menu_remove_all" version="2.38">
<doc xml:space="preserve">Removes all items in the menu.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<class name="MenuAttributeIter" c:symbol-prefix="menu_attribute_iter" c:type="GMenuAttributeIter" version="2.32" parent="GObject.Object" abstract="1" glib:type-name="GMenuAttributeIter" glib:get-type="g_menu_attribute_iter_get_type" glib:type-struct="MenuAttributeIterClass">
<doc xml:space="preserve">#GMenuAttributeIter is an opaque structure type. You must access it
using the functions below.</doc>
-
<virtual-method name="get_next" invoker="get_next" version="2.32">
<doc xml:space="preserve">This function combines g_menu_attribute_iter_next() with
g_menu_attribute_iter_get_name() and g_menu_attribute_iter_get_value().
The value returned in @name remains valid for as long as the iterator
remains at the current position. The value returned in @value must
be unreffed using g_variant_unref() when it is no longer in use.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE if there is no additional
attribute</doc>
a string.
The iterator is not advanced.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of the attribute</doc>
<type name="utf8" c:type="const gchar*"/>
The value returned in @name remains valid for as long as the iterator
remains at the current position. The value returned in @value must
be unreffed using g_variant_unref() when it is no longer in use.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE if there is no additional
attribute</doc>
<doc xml:space="preserve">Gets the value of the attribute at the current iterator position.
The iterator is not advanced.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the value of the current attribute</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
You must call this function when you first acquire the iterator
to advance it to the first attribute (and determine if the first
attribute exists at all).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE when there are no more attributes</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="MenuAttributeIterClass" c:type="GMenuAttributeIterClass" glib:is-gtype-struct-for="MenuAttributeIter">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_next">
<callback name="get_next">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE if there is no additional
attribute</doc>
</callback>
</field>
</record>
- <record name="MenuAttributeIterPrivate" c:type="GMenuAttributeIterPrivate" disguised="1">
-
- </record>
+ <record name="MenuAttributeIterPrivate" c:type="GMenuAttributeIterPrivate" disguised="1"/>
<class name="MenuItem" c:symbol-prefix="menu_item" c:type="GMenuItem" version="2.32" parent="GObject.Object" glib:type-name="GMenuItem" glib:get-type="g_menu_item_get_type">
<doc xml:space="preserve">#GMenuItem is an opaque structure type. You must access it using the
functions below.</doc>
If @detailed_action is non-%NULL it is used to set the "action" and
possibly the "target" attribute of the new item. See
g_menu_item_set_detailed_action() for more information.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuItem</doc>
<type name="MenuItem" c:type="GMenuItem*"/>
@item_index must be valid (ie: be sure to call
g_menu_model_get_n_items() first).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuItem.</doc>
<type name="MenuItem" c:type="GMenuItem*"/>
</item>
</menu>
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuItem</doc>
<type name="MenuItem" c:type="GMenuItem*"/>
This is a convenience API around g_menu_item_new() and
g_menu_item_set_submenu().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuItem</doc>
<type name="MenuItem" c:type="GMenuItem*"/>
If the attribute does not exist, or it does exist but has the wrong
type, then the positional parameters are ignored and %FALSE is
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the named attribute was found with the expected
type</doc>
If @expected_type is specified and the attribute does not have this
type, %NULL is returned. %NULL is also returned if the attribute
simply does not exist.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the attribute value, or %NULL</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</method>
<method name="get_link" c:identifier="g_menu_item_get_link" version="2.34">
<doc xml:space="preserve">Queries the named @link on @menu_item.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the link, or %NULL</doc>
<type name="MenuModel" c:type="GMenuModel*"/>
</return-value>
See also g_menu_item_set_action_and_target_value() for a
description of the semantics of the action and target attributes.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See g_menu_item_set_action_and_target() or
g_menu_item_set_detailed_action() for two equivalent calls that are
probably more convenient for most uses.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See also g_menu_item_set_attribute_value() for an equivalent call
that directly accepts a #GVariant.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See also g_menu_item_set_attribute() for a more convenient way to do
the same.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See also g_menu_item_set_action_and_target_value() for a description of
the semantics of the action and target attributes.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
'Quit').
If @icon is %NULL then the icon is unset.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @label is non-%NULL it is used as the label for the menu item. If
it is %NULL then the label attribute is unset.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Link types are restricted to lowercase characters, numbers
and '-'. Furthermore, the names must begin with a lowercase character,
must not end with a '-', and must not contain consecutive dashes.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the menu that @menu_item is added to. See g_menu_item_new_section()
for more information about what it means for a menu item to be a
section.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The effect of having one menu appear as a submenu of another is
exactly as it sounds.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<class name="MenuLinkIter" c:symbol-prefix="menu_link_iter" c:type="GMenuLinkIter" version="2.32" parent="GObject.Object" abstract="1" glib:type-name="GMenuLinkIter" glib:get-type="g_menu_link_iter_get_type" glib:type-struct="MenuLinkIterClass">
<doc xml:space="preserve">#GMenuLinkIter is an opaque structure type. You must access it using
the functions below.</doc>
-
<virtual-method name="get_next" invoker="get_next" version="2.32">
<doc xml:space="preserve">This function combines g_menu_link_iter_next() with
g_menu_link_iter_get_name() and g_menu_link_iter_get_value().
The value returned in @out_link remains valid for as long as the iterator
remains at the current position. The value returned in @value must
be unreffed using g_object_unref() when it is no longer in use.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE if there is no additional link</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the name of the link at the current iterator position.
The iterator is not advanced.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the type of the link</doc>
<type name="utf8" c:type="const gchar*"/>
The value returned in @out_link remains valid for as long as the iterator
remains at the current position. The value returned in @value must
be unreffed using g_object_unref() when it is no longer in use.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE if there is no additional link</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the linked #GMenuModel at the current iterator position.
The iterator is not advanced.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GMenuModel that is linked to</doc>
<type name="MenuModel" c:type="GMenuModel*"/>
You must call this function when you first acquire the iterator to
advance it to the first link (and determine if the first link exists
at all).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE when there are no more links</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="MenuLinkIterClass" c:type="GMenuLinkIterClass" glib:is-gtype-struct-for="MenuLinkIter">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_next">
<callback name="get_next">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, or %FALSE if there is no additional link</doc>
<type name="gboolean" c:type="gboolean"/>
</callback>
</field>
</record>
- <record name="MenuLinkIterPrivate" c:type="GMenuLinkIterPrivate" disguised="1">
-
- </record>
+ <record name="MenuLinkIterPrivate" c:type="GMenuLinkIterPrivate" disguised="1"/>
<class name="MenuModel" c:symbol-prefix="menu_model" c:type="GMenuModel" version="2.32" parent="GObject.Object" abstract="1" glib:type-name="GMenuModel" glib:get-type="g_menu_model_get_type" glib:type-struct="MenuModelClass">
<doc xml:space="preserve">#GMenuModel represents the contents of a menu -- an ordered list of
menu items. The items are associated with actions, which can be
of the action with the target value as the parameter. The menu item should
be rendered as "selected" when the state of the action is equal to the
target value of the menu item.</doc>
-
<virtual-method name="get_item_attribute_value" invoker="get_item_attribute_value" version="2.32">
<doc xml:space="preserve">Queries the item at position @item_index in @model for the attribute
specified by @attribute.
If the attribute does not exist, or does not match the expected type
then %NULL is returned.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the value of the attribute</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</virtual-method>
<virtual-method name="get_item_attributes">
<doc xml:space="preserve">Gets all the attributes associated with the item in the menu model.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the link exists, the linked #GMenuModel is returned. If the link
does not exist, %NULL is returned.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the linked #GMenuModel, or %NULL</doc>
<type name="MenuModel" c:type="GMenuModel*"/>
</return-value>
</virtual-method>
<virtual-method name="get_item_links">
<doc xml:space="preserve">Gets all the links associated with the item in the menu model.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="get_n_items" invoker="get_n_items" version="2.32">
<doc xml:space="preserve">Query the number of items in @model.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items</doc>
<type name="gint" c:type="gint"/>
An immutable #GMenuModel will never emit the #GMenuModel::items-changed
signal. Consumers of the model may make optimisations accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the model is mutable (ie: "items-changed" may be
emitted).</doc>
the item at position @item_index in @model.
You must free the iterator with g_object_unref() when you are done.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuAttributeIter</doc>
<type name="MenuAttributeIter" c:type="GMenuAttributeIter*"/>
position @item_index in @model.
You must free the iterator with g_object_unref() when you are done.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuLinkIter</doc>
<type name="MenuLinkIter" c:type="GMenuLinkIter*"/>
@format_string must make a complete copy of the data (since the
#GVariant may go away after the call to g_variant_unref()). In
particular, no '&' characters are allowed in @format_string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the named attribute was found with the expected
type</doc>
If the attribute does not exist, or does not match the expected type
then %NULL is returned.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the value of the attribute</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
If the link exists, the linked #GMenuModel is returned. If the link
does not exist, %NULL is returned.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the linked #GMenuModel, or %NULL</doc>
<type name="MenuModel" c:type="GMenuModel*"/>
</return-value>
</method>
<method name="get_n_items" c:identifier="g_menu_model_get_n_items" version="2.32">
<doc xml:space="preserve">Query the number of items in @model.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items</doc>
<type name="gint" c:type="gint"/>
An immutable #GMenuModel will never emit the #GMenuModel::items-changed
signal. Consumers of the model may make optimisations accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the model is mutable (ie: "items-changed" may be
emitted).</doc>
entry and not in response to calls -- particularly those from the
#GMenuModel API. Said another way: the menu must not change while
user code is running without returning to the mainloop.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the item at position @item_index in @model.
You must free the iterator with g_object_unref() when you are done.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuAttributeIter</doc>
<type name="MenuAttributeIter" c:type="GMenuAttributeIter*"/>
position @item_index in @model.
You must free the iterator with g_object_unref() when you are done.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuLinkIter</doc>
<type name="MenuLinkIter" c:type="GMenuLinkIter*"/>
</glib:signal>
</class>
<record name="MenuModelClass" c:type="GMenuModelClass" glib:is-gtype-struct-for="MenuModel">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="is_mutable">
<callback name="is_mutable">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the model is mutable (ie: "items-changed" may be
emitted).</doc>
</field>
<field name="get_n_items">
<callback name="get_n_items">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of items</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="get_item_attributes">
<callback name="get_item_attributes">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="iterate_item_attributes">
<callback name="iterate_item_attributes">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuAttributeIter</doc>
<type name="MenuAttributeIter" c:type="GMenuAttributeIter*"/>
</field>
<field name="get_item_attribute_value">
<callback name="get_item_attribute_value">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the value of the attribute</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</field>
<field name="get_item_links">
<callback name="get_item_links">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="iterate_item_links">
<callback name="iterate_item_links">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GMenuLinkIter</doc>
<type name="MenuLinkIter" c:type="GMenuLinkIter*"/>
</field>
<field name="get_item_link">
<callback name="get_item_link">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the linked #GMenuModel, or %NULL</doc>
<type name="MenuModel" c:type="GMenuModel*"/>
</return-value>
</callback>
</field>
</record>
- <record name="MenuModelPrivate" c:type="GMenuModelPrivate" disguised="1">
-
- </record>
+ <record name="MenuModelPrivate" c:type="GMenuModelPrivate" disguised="1"/>
<interface name="Mount" c:symbol-prefix="mount" c:type="GMount" glib:type-name="GMount" glib:get-type="g_mount_get_type" glib:type-struct="MountIface">
<doc xml:space="preserve">The #GMount interface represents user-visible mounts. Note, when
porting from GnomeVFS, #GMount is the moral equivalent of #GnomeVFSVolume.
and the #GAsyncResult data to see if the operation was completed
successfully. If an @error is present when g_mount_unmount_with_operation_finish()
is called, then it will be filled with any error information.</doc>
-
<virtual-method name="can_eject" invoker="can_eject">
<doc xml:space="preserve">Checks if @mount can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @mount can be ejected.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="can_unmount" invoker="can_unmount">
<doc xml:space="preserve">Checks if @mount can be unmounted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @mount can be unmounted.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
finished by calling g_mount_eject_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_eject_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finishes ejecting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_eject_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Ejects a mount. This is an asynchronous operation, and is
finished by calling g_mount_eject_with_operation_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="eject_with_operation_finish" invoker="eject_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the default location of @mount. The default location of the given
@mount is a path that reflects the main entry point for the user (e.g.
the home directory, or the root of the volume).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
The returned object should be unreffed with
This is a convenience method for getting the #GVolume and then
using that object to get the #GDrive.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDrive or %NULL if @mount is not
associated with a volume or a drive.
</virtual-method>
<virtual-method name="get_icon" invoker="get_icon">
<doc xml:space="preserve">Gets the icon for @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with
</virtual-method>
<virtual-method name="get_name" invoker="get_name">
<doc xml:space="preserve">Gets the name of @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the name for the given @mount.
The returned string should be freed with g_free()
</virtual-method>
<virtual-method name="get_root" invoker="get_root">
<doc xml:space="preserve">Gets the root directory on @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
The returned object should be unreffed with
</virtual-method>
<virtual-method name="get_sort_key" invoker="get_sort_key" version="2.32">
<doc xml:space="preserve">Gets the sort key for @mount, if any.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @mount or %NULL if no such key is available.</doc>
<type name="utf8" c:type="const gchar*"/>
</virtual-method>
<virtual-method name="get_symbolic_icon" invoker="get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the symbolic icon for @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with
the file system UUID for the mount in question and should be
considered an opaque string. Returns %NULL if there is no UUID
available.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the UUID for @mount or %NULL if no UUID
can be computed.
</virtual-method>
<virtual-method name="get_volume" invoker="get_volume">
<doc xml:space="preserve">Gets the volume for the @mount.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVolume or %NULL if @mount is not
associated with a volume.
g_mount_guess_content_type_sync() for the synchronous version), and
is finished by calling g_mount_guess_content_type_finish() with the
@mount and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%FALSE will be returned. In particular, you may get an
%G_IO_ERROR_NOT_SUPPORTED if the mount does not support content
guessing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of content types or %NULL on error.
Caller should free this array with g_strfreev() when done with it.</doc>
This is a synchronous operation and as such may block doing IO;
see g_mount_guess_content_type() for the asynchronous version.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of content types or %NULL on error.
Caller should free this array with g_strfreev() when done with it.</doc>
</parameters>
</virtual-method>
<virtual-method name="pre_unmount">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
take affect. While this is semantically equivalent with unmounting
and then remounting not all backends might need to actually be
unmounted.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="remount_finish" invoker="remount_finish" throws="1">
<doc xml:space="preserve">Finishes remounting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully remounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
finished by calling g_mount_unmount_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_unmount_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finishes unmounting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_unmount_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully unmounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Unmounts a mount. This is an asynchronous operation, and is
finished by calling g_mount_unmount_with_operation_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="unmount_with_operation_finish" invoker="unmount_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes unmounting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully unmounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="unmounted">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="can_eject" c:identifier="g_mount_can_eject">
<doc xml:space="preserve">Checks if @mount can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @mount can be ejected.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="can_unmount" c:identifier="g_mount_can_unmount">
<doc xml:space="preserve">Checks if @mount can be unmounted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @mount can be unmounted.</doc>
<type name="gboolean" c:type="gboolean"/>
finished by calling g_mount_eject_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_eject_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finishes ejecting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_eject_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Ejects a mount. This is an asynchronous operation, and is
finished by calling g_mount_eject_with_operation_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="eject_with_operation_finish" c:identifier="g_mount_eject_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the default location of @mount. The default location of the given
@mount is a path that reflects the main entry point for the user (e.g.
the home directory, or the root of the volume).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
The returned object should be unreffed with
This is a convenience method for getting the #GVolume and then
using that object to get the #GDrive.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDrive or %NULL if @mount is not
associated with a volume or a drive.
</method>
<method name="get_icon" c:identifier="g_mount_get_icon">
<doc xml:space="preserve">Gets the icon for @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with
</method>
<method name="get_name" c:identifier="g_mount_get_name">
<doc xml:space="preserve">Gets the name of @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the name for the given @mount.
The returned string should be freed with g_free()
</method>
<method name="get_root" c:identifier="g_mount_get_root">
<doc xml:space="preserve">Gets the root directory on @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
The returned object should be unreffed with
</method>
<method name="get_sort_key" c:identifier="g_mount_get_sort_key" version="2.32">
<doc xml:space="preserve">Gets the sort key for @mount, if any.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @mount or %NULL if no such key is available.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_symbolic_icon" c:identifier="g_mount_get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the symbolic icon for @mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with
the file system UUID for the mount in question and should be
considered an opaque string. Returns %NULL if there is no UUID
available.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the UUID for @mount or %NULL if no UUID
can be computed.
</method>
<method name="get_volume" c:identifier="g_mount_get_volume">
<doc xml:space="preserve">Gets the volume for the @mount.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVolume or %NULL if @mount is not
associated with a volume.
g_mount_guess_content_type_sync() for the synchronous version), and
is finished by calling g_mount_guess_content_type_finish() with the
@mount and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%FALSE will be returned. In particular, you may get an
%G_IO_ERROR_NOT_SUPPORTED if the mount does not support content
guessing.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of content types or %NULL on error.
Caller should free this array with g_strfreev() when done with it.</doc>
This is a synchronous operation and as such may block doing IO;
see g_mount_guess_content_type() for the asynchronous version.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of content types or %NULL on error.
Caller should free this array with g_strfreev() when done with it.</doc>
The proxy monitor in GVfs 2.26 and later, automatically creates and
manage shadow mounts (and shadows the underlying mount) if the
activation root on a #GVolume is set.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mount is shadowed.</doc>
<type name="gboolean" c:type="gboolean"/>
take affect. While this is semantically equivalent with unmounting
and then remounting not all backends might need to actually be
unmounted.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="remount_finish" c:identifier="g_mount_remount_finish" throws="1">
<doc xml:space="preserve">Finishes remounting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully remounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
#GVolumeMonitor implementations when creating a shadow mount for
@mount, see g_mount_is_shadowed() for more information. The caller
will need to emit the #GMount::changed signal on @mount manually.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
finished by calling g_mount_unmount_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_unmount_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finishes unmounting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_mount_unmount_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully unmounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Unmounts a mount. This is an asynchronous operation, and is
finished by calling g_mount_unmount_with_operation_finish() with the @mount
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="unmount_with_operation_finish" c:identifier="g_mount_unmount_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes unmounting a mount. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully unmounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
#GVolumeMonitor implementations when destroying a shadow mount for
@mount, see g_mount_is_shadowed() for more information. The caller
will need to emit the #GMount::changed signal on @mount manually.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<record name="MountIface" c:type="GMountIface" glib:is-gtype-struct-for="Mount">
<doc xml:space="preserve">Interface for implementing operations for mounts.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="changed">
<callback name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unmounted">
<callback name="unmounted">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get_root">
<callback name="get_root">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
The returned object should be unreffed with
</field>
<field name="get_name">
<callback name="get_name">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the name for the given @mount.
The returned string should be freed with g_free()
</field>
<field name="get_icon">
<callback name="get_icon">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with
</field>
<field name="get_uuid">
<callback name="get_uuid">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the UUID for @mount or %NULL if no UUID
can be computed.
</field>
<field name="get_volume">
<callback name="get_volume">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVolume or %NULL if @mount is not
associated with a volume.
</field>
<field name="get_drive">
<callback name="get_drive">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDrive or %NULL if @mount is not
associated with a volume or a drive.
</field>
<field name="can_unmount">
<callback name="can_unmount">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @mount can be unmounted.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="can_eject">
<callback name="can_eject">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @mount can be ejected.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="unmount">
<callback name="unmount">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unmount_finish">
<callback name="unmount_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully unmounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="eject">
<callback name="eject">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_finish">
<callback name="eject_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="remount">
<callback name="remount">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="remount_finish">
<callback name="remount_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully remounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="guess_content_type">
<callback name="guess_content_type">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="guess_content_type_finish">
<callback name="guess_content_type_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of content types or %NULL on error.
Caller should free this array with g_strfreev() when done with it.</doc>
</field>
<field name="guess_content_type_sync">
<callback name="guess_content_type_sync" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array of content types or %NULL on error.
Caller should free this array with g_strfreev() when done with it.</doc>
</field>
<field name="pre_unmount">
<callback name="pre_unmount">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unmount_with_operation">
<callback name="unmount_with_operation">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unmount_with_operation_finish">
<callback name="unmount_with_operation_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully unmounted. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="eject_with_operation">
<callback name="eject_with_operation">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_with_operation_finish">
<callback name="eject_with_operation_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount was successfully ejected. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_default_location">
<callback name="get_default_location">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
The returned object should be unreffed with
</field>
<field name="get_sort_key">
<callback name="get_sort_key">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @mount or %NULL if no such key is available.</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="get_symbolic_icon">
<callback name="get_symbolic_icon">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with
encrypting file containers, partitions or whole disks, typically used with Windows.
[VeraCrypt](https://www.veracrypt.fr/) is a maintained fork of TrueCrypt with various
improvements and auditing fixes.</doc>
-
<constructor name="new" c:identifier="g_mount_operation_new">
<doc xml:space="preserve">Creates a new mount operation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GMountOperation.</doc>
<type name="MountOperation" c:type="GMountOperation*"/>
</return-value>
</constructor>
<virtual-method name="aborted">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="ask_password">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="ask_question">
<doc xml:space="preserve">Virtual implementation of #GMountOperation::ask-question.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="reply" invoker="reply">
<doc xml:space="preserve">Emits the #GMountOperation::reply signal.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="show_processes" version="2.22">
<doc xml:space="preserve">Virtual implementation of #GMountOperation::show-processes.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="show_unmount_progress">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="get_anonymous" c:identifier="g_mount_operation_get_anonymous">
<doc xml:space="preserve">Check to see whether the mount operation is being used
for an anonymous user.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if mount operation is anonymous.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_choice" c:identifier="g_mount_operation_get_choice">
<doc xml:space="preserve">Gets a choice from the mount operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an integer containing an index of the user's choice from
the choice's list, or `0`.</doc>
</method>
<method name="get_domain" c:identifier="g_mount_operation_get_domain">
<doc xml:space="preserve">Gets the domain of the mount operation.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string set to the domain.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
<method name="get_is_tcrypt_hidden_volume" c:identifier="g_mount_operation_get_is_tcrypt_hidden_volume" version="2.58">
<doc xml:space="preserve">Check to see whether the mount operation is being used
for a TCRYPT hidden volume.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if mount operation is for hidden volume.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_is_tcrypt_system_volume" c:identifier="g_mount_operation_get_is_tcrypt_system_volume" version="2.58">
<doc xml:space="preserve">Check to see whether the mount operation is being used
for a TCRYPT system volume.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if mount operation is for system volume.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_password" c:identifier="g_mount_operation_get_password">
<doc xml:space="preserve">Gets a password from the mount operation.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the password within @op.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</method>
<method name="get_password_save" c:identifier="g_mount_operation_get_password_save">
<doc xml:space="preserve">Gets the state of saving passwords for the mount operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GPasswordSave flag.</doc>
<type name="PasswordSave" c:type="GPasswordSave"/>
</method>
<method name="get_pim" c:identifier="g_mount_operation_get_pim" version="2.58">
<doc xml:space="preserve">Gets a PIM from the mount operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The VeraCrypt PIM within @op.</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="get_username" c:identifier="g_mount_operation_get_username">
<doc xml:space="preserve">Get the user name from the mount operation.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the user name.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</method>
<method name="reply" c:identifier="g_mount_operation_reply">
<doc xml:space="preserve">Emits the #GMountOperation::reply signal.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_anonymous" c:identifier="g_mount_operation_set_anonymous">
<doc xml:space="preserve">Sets the mount operation to use an anonymous user if @anonymous is %TRUE.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_choice" c:identifier="g_mount_operation_set_choice">
<doc xml:space="preserve">Sets a default choice for the mount operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_domain" c:identifier="g_mount_operation_set_domain">
<doc xml:space="preserve">Sets the mount operation's domain.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">a #GMountOperation.</doc>
<type name="MountOperation" c:type="GMountOperation*"/>
</instance-parameter>
- <parameter name="domain" transfer-ownership="none">
+ <parameter name="domain" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the domain to set.</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</method>
<method name="set_is_tcrypt_hidden_volume" c:identifier="g_mount_operation_set_is_tcrypt_hidden_volume" version="2.58">
<doc xml:space="preserve">Sets the mount operation to use a hidden volume if @hidden_volume is %TRUE.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_is_tcrypt_system_volume" c:identifier="g_mount_operation_set_is_tcrypt_system_volume" version="2.58">
<doc xml:space="preserve">Sets the mount operation to use a system volume if @system_volume is %TRUE.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_password" c:identifier="g_mount_operation_set_password">
<doc xml:space="preserve">Sets the mount operation's password to @password.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">a #GMountOperation.</doc>
<type name="MountOperation" c:type="GMountOperation*"/>
</instance-parameter>
- <parameter name="password" transfer-ownership="none">
+ <parameter name="password" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">password to set.</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</method>
<method name="set_password_save" c:identifier="g_mount_operation_set_password_save">
<doc xml:space="preserve">Sets the state of saving passwords for the mount operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_pim" c:identifier="g_mount_operation_set_pim" version="2.58">
<doc xml:space="preserve">Sets the mount operation's PIM to @pim.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_username" c:identifier="g_mount_operation_set_username">
<doc xml:space="preserve">Sets the user name within @op to @username.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">a #GMountOperation.</doc>
<type name="MountOperation" c:type="GMountOperation*"/>
</instance-parameter>
- <parameter name="username" transfer-ownership="none">
+ <parameter name="username" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">input username.</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</glib:signal>
</class>
<record name="MountOperationClass" c:type="GMountOperationClass" glib:is-gtype-struct-for="MountOperation">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="ask_password">
<callback name="ask_password">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="ask_question">
<callback name="ask_question">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="reply">
<callback name="reply">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="aborted">
<callback name="aborted">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="show_processes">
<callback name="show_processes">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="show_unmount_progress">
<callback name="show_unmount_progress">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved7" introspectable="0">
<callback name="_g_reserved7">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved8" introspectable="0">
<callback name="_g_reserved8">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved9" introspectable="0">
<callback name="_g_reserved9">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="MountOperationPrivate" c:type="GMountOperationPrivate" disguised="1">
-
- </record>
+ <record name="MountOperationPrivate" c:type="GMountOperationPrivate" disguised="1"/>
<enumeration name="MountOperationResult" glib:type-name="GMountOperationResult" glib:get-type="g_mount_operation_result_get_type" c:type="GMountOperationResult">
<doc xml:space="preserve">#GMountOperationResult is returned as a result when a request for
information is send by the mounting operation.</doc>
</member>
</bitfield>
<function-macro name="NATIVE_SOCKET_ADDRESS" c:identifier="G_NATIVE_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NATIVE_SOCKET_ADDRESS_CLASS" c:identifier="G_NATIVE_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="NATIVE_SOCKET_ADDRESS_GET_CLASS" c:identifier="G_NATIVE_SOCKET_ADDRESS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NATIVE_VOLUME_MONITOR" c:identifier="G_NATIVE_VOLUME_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NATIVE_VOLUME_MONITOR_CLASS" c:identifier="G_NATIVE_VOLUME_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<constant name="NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME" value="gio-native-volume-monitor" c:type="G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME">
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="NETWORK_ADDRESS" c:identifier="G_NETWORK_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NETWORK_ADDRESS_CLASS" c:identifier="G_NETWORK_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="NETWORK_ADDRESS_GET_CLASS" c:identifier="G_NETWORK_ADDRESS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NETWORK_MONITOR" c:identifier="G_NETWORK_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
<constant name="NETWORK_MONITOR_EXTENSION_POINT_NAME" value="gio-network-monitor" c:type="G_NETWORK_MONITOR_EXTENSION_POINT_NAME" version="2.30">
<doc xml:space="preserve">Extension point for network status monitoring functionality.
See [Extending GIO][extending-gio].</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="NETWORK_MONITOR_GET_INTERFACE" c:identifier="G_NETWORK_MONITOR_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NETWORK_SERVICE" c:identifier="G_NETWORK_SERVICE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NETWORK_SERVICE_CLASS" c:identifier="G_NETWORK_SERVICE_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="NETWORK_SERVICE_GET_CLASS" c:identifier="G_NETWORK_SERVICE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="NOTIFICATION" c:identifier="G_NOTIFICATION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</function-macro>
<class name="NativeSocketAddress" c:symbol-prefix="native_socket_address" c:type="GNativeSocketAddress" parent="SocketAddress" glib:type-name="GNativeSocketAddress" glib:get-type="g_native_socket_address_get_type" glib:type-struct="NativeSocketAddressClass">
<doc xml:space="preserve">A socket address of some unknown native type.</doc>
-
<implements name="SocketConnectable"/>
<constructor name="new" c:identifier="g_native_socket_address_new" version="2.46">
<doc xml:space="preserve">Creates a new #GNativeSocketAddress for @native and @len.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GNativeSocketAddress</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
</field>
</class>
<record name="NativeSocketAddressClass" c:type="GNativeSocketAddressClass" glib:is-gtype-struct-for="NativeSocketAddress">
-
<field name="parent_class">
<type name="SocketAddressClass" c:type="GSocketAddressClass"/>
</field>
</record>
- <record name="NativeSocketAddressPrivate" c:type="GNativeSocketAddressPrivate" disguised="1">
-
- </record>
+ <record name="NativeSocketAddressPrivate" c:type="GNativeSocketAddressPrivate" disguised="1"/>
<class name="NativeVolumeMonitor" c:symbol-prefix="native_volume_monitor" c:type="GNativeVolumeMonitor" parent="VolumeMonitor" abstract="1" glib:type-name="GNativeVolumeMonitor" glib:get-type="g_native_volume_monitor_get_type" glib:type-struct="NativeVolumeMonitorClass">
-
<field name="parent_instance">
<type name="VolumeMonitor" c:type="GVolumeMonitor"/>
</field>
</class>
<record name="NativeVolumeMonitorClass" c:type="GNativeVolumeMonitorClass" glib:is-gtype-struct-for="NativeVolumeMonitor">
-
<field name="parent_class">
<type name="VolumeMonitorClass" c:type="GVolumeMonitorClass"/>
</field>
<field name="get_mount_for_mount_path" introspectable="0">
<callback name="get_mount_for_mount_path" introspectable="0">
-
<return-value>
<type name="Mount" c:type="GMount*"/>
</return-value>
See #GSocketConnectable for an example of using the connectable
interface.</doc>
-
<implements name="SocketConnectable"/>
<constructor name="new" c:identifier="g_network_address_new" version="2.22">
<doc xml:space="preserve">Creates a new #GSocketConnectable for connecting to the given
only, or to both IPv4 and IPv6; use
g_network_address_new_loopback() to create a #GNetworkAddress that
is guaranteed to resolve to both addresses.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GNetworkAddress</doc>
<type name="NetworkAddress" c:type="GSocketConnectable*"/>
g_network_address_get_hostname() will always return `localhost` for
a #GNetworkAddress created with this constructor.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GNetworkAddress</doc>
<type name="NetworkAddress" c:type="GSocketConnectable*"/>
service name rather than as a numeric port, but this functionality
is deprecated, because it depends on the contents of /etc/services,
which is generally quite sparse on platforms other than Linux.)</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GNetworkAddress, or %NULL on error</doc>
Using this rather than g_network_address_new() or
g_network_address_parse() allows #GSocketClient to determine
when to use application-specific proxy protocols.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GNetworkAddress, or %NULL on error</doc>
<method name="get_hostname" c:identifier="g_network_address_get_hostname" version="2.22">
<doc xml:space="preserve">Gets @addr's hostname. This might be either UTF-8 or ASCII-encoded,
depending on what @addr was created with.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@addr's hostname</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_port" c:identifier="g_network_address_get_port" version="2.22">
<doc xml:space="preserve">Gets @addr's port number</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@addr's port (which may be 0)</doc>
<type name="guint16" c:type="guint16"/>
</method>
<method name="get_scheme" c:identifier="g_network_address_get_scheme" version="2.26">
<doc xml:space="preserve">Gets @addr's scheme</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@addr's scheme (%NULL if not built from URI)</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</field>
</class>
<record name="NetworkAddressClass" c:type="GNetworkAddressClass" glib:is-gtype-struct-for="NetworkAddress">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
- <record name="NetworkAddressPrivate" c:type="GNetworkAddressPrivate" disguised="1">
-
- </record>
+ <record name="NetworkAddressPrivate" c:type="GNetworkAddressPrivate" disguised="1"/>
<enumeration name="NetworkConnectivity" version="2.44" glib:type-name="GNetworkConnectivity" glib:get-type="g_network_connectivity_get_type" c:type="GNetworkConnectivity">
<doc xml:space="preserve">The host's network connectivity state, as reported by #GNetworkMonitor.</doc>
<member name="local" value="1" c:identifier="G_NETWORK_CONNECTIVITY_LOCAL" glib:nick="local">
on NetworkManager.
There is also an implementation for use inside Flatpak sandboxes.</doc>
-
<prerequisite name="Initable"/>
<function name="get_default" c:identifier="g_network_monitor_get_default" version="2.32">
<doc xml:space="preserve">Gets the default #GNetworkMonitor for the system.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GNetworkMonitor</doc>
+ <doc xml:space="preserve">a #GNetworkMonitor, which will be
+ a dummy object if no network monitor is available</doc>
<type name="NetworkMonitor" c:type="GNetworkMonitor*"/>
</return-value>
</function>
@connectable, it may still block for a brief period of time (eg,
trying to do multicast DNS on the local network), so if you do not
want to block, you should use g_network_monitor_can_reach_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @connectable is reachable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called.
You can then call g_network_monitor_can_reach_finish()
to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="can_reach_finish" invoker="can_reach_finish" throws="1">
<doc xml:space="preserve">Finishes an async network connectivity test.
See g_network_monitor_can_reach_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if network is reachable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="network_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@connectable, it may still block for a brief period of time (eg,
trying to do multicast DNS on the local network), so if you do not
want to block, you should use g_network_monitor_can_reach_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @connectable is reachable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called.
You can then call g_network_monitor_can_reach_finish()
to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="can_reach_finish" c:identifier="g_network_monitor_can_reach_finish" throws="1">
<doc xml:space="preserve">Finishes an async network connectivity test.
See g_network_monitor_can_reach_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if network is reachable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
reachable but others are not. In this case, applications can
attempt to connect to remote servers, but should gracefully fall
back to their "offline" behavior if the connection attempt fails.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the network connectivity state</doc>
<type name="NetworkConnectivity" c:type="GNetworkConnectivity"/>
system has a default route available for at least one of IPv4 or
IPv6. It does not necessarily imply that the public Internet is
reachable. See #GNetworkMonitor:network-available for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the network is available</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_network_metered" c:identifier="g_network_monitor_get_network_metered" version="2.46">
<doc xml:space="preserve">Checks if the network is metered.
See #GNetworkMonitor:network-metered for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the connection is metered</doc>
<type name="gboolean" c:type="gboolean"/>
</interface>
<record name="NetworkMonitorInterface" c:type="GNetworkMonitorInterface" glib:is-gtype-struct-for="NetworkMonitor" version="2.32">
<doc xml:space="preserve">The virtual function table for #GNetworkMonitor.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="network_changed">
<callback name="network_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="can_reach">
<callback name="can_reach" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @connectable is reachable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="can_reach_async">
<callback name="can_reach_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="can_reach_finish">
<callback name="can_reach_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if network is reachable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
See #GSrvTarget for more information about SRV records, and see
#GSocketConnectable for an example of using the connectable
interface.</doc>
-
<implements name="SocketConnectable"/>
<constructor name="new" c:identifier="g_network_service_new" version="2.22">
<doc xml:space="preserve">Creates a new #GNetworkService representing the given @service,
@protocol, and @domain. This will initially be unresolved; use the
#GSocketConnectable interface to resolve it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GNetworkService</doc>
<type name="NetworkService" c:type="GSocketConnectable*"/>
<method name="get_domain" c:identifier="g_network_service_get_domain" version="2.22">
<doc xml:space="preserve">Gets the domain that @srv serves. This might be either UTF-8 or
ASCII-encoded, depending on what @srv was created with.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@srv's domain name</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_protocol" c:identifier="g_network_service_get_protocol" version="2.22">
<doc xml:space="preserve">Gets @srv's protocol name (eg, "tcp").</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@srv's protocol name</doc>
<type name="utf8" c:type="const gchar*"/>
<method name="get_scheme" c:identifier="g_network_service_get_scheme" version="2.26">
<doc xml:space="preserve">Gets the URI scheme used to resolve proxies. By default, the service name
is used as scheme.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@srv's scheme name</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_service" c:identifier="g_network_service_get_service" version="2.22">
<doc xml:space="preserve">Gets @srv's service name (eg, "ldap").</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@srv's service name</doc>
<type name="utf8" c:type="const gchar*"/>
<method name="set_scheme" c:identifier="g_network_service_set_scheme" version="2.26">
<doc xml:space="preserve">Set's the URI scheme used to resolve proxies. By default, the service name
is used as scheme.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="NetworkServiceClass" c:type="GNetworkServiceClass" glib:is-gtype-struct-for="NetworkService">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
- <record name="NetworkServicePrivate" c:type="GNetworkServicePrivate" disguised="1">
-
- </record>
+ <record name="NetworkServicePrivate" c:type="GNetworkServicePrivate" disguised="1"/>
<class name="Notification" c:symbol-prefix="notification" c:type="GNotification" version="2.40" parent="GObject.Object" glib:type-name="GNotification" glib:get-type="g_notification_get_type">
<doc xml:space="preserve">#GNotification is a mechanism for creating a notification to be shown
to the user -- typically as a pop-up notification presented by the
the desktop shell with g_application_send_notification(). Changing
any properties after this call will not have any effect until
resending @notification.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GNotification instance</doc>
<type name="Notification" c:type="GNotification*"/>
See g_action_parse_detailed_name() for a description of the format
for @detailed_action.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
positional parameters into a #GVariant instance, similar to
g_variant_new(). @action will be activated with that #GVariant as its
parameter.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @target is non-%NULL, @action will be activated with @target as
its parameter.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_body" c:identifier="g_notification_set_body" version="2.40">
<doc xml:space="preserve">Sets the body of @notification to @body.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
When no default action is set, the application that the notification
was sent on is activated.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
When no default action is set, the application that the notification
was sent on is activated.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
When no default action is set, the application that the notification
was sent on is activated.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_icon" c:identifier="g_notification_set_icon" version="2.40">
<doc xml:space="preserve">Sets the icon of @notification to @icon.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_priority" c:identifier="g_notification_set_priority">
<doc xml:space="preserve">Sets the priority of @notification to @priority. See
#GNotificationPriority for possible values.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_title" c:identifier="g_notification_set_title" version="2.40">
<doc xml:space="preserve">Sets the title of @notification to @title.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Deprecated in favor of g_notification_set_priority().</doc>
<doc-deprecated xml:space="preserve">Since 2.42, this has been deprecated in favour of
g_notification_set_priority().</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</member>
</enumeration>
<function-macro name="OUTPUT_STREAM" c:identifier="G_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="OUTPUT_STREAM_CLASS" c:identifier="G_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="OUTPUT_STREAM_GET_CLASS" c:identifier="G_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
If @address is %NULL then the message is sent to the default receiver
(as previously set by g_socket_connect()).</doc>
-
<field name="address" writable="1">
<doc xml:space="preserve">a #GSocketAddress, or %NULL</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
streaming APIs.
All of these functions have async variants too.</doc>
-
<virtual-method name="close_async" invoker="close_async">
<doc xml:space="preserve">Requests an asynchronous close of the stream, releasing resources
related to it. When the operation is finished @callback will be
The asynchronous methods have a default fallback that uses threads
to implement asynchronicity, so they are optional for inheriting
classes. However, if you override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="close_finish" invoker="close_finish" throws="1">
<doc xml:space="preserve">Closes an output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if stream was successfully closed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished @callback will be
called. You can then call g_output_stream_flush_finish() to get the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="flush_finish" invoker="flush_finish" throws="1">
<doc xml:space="preserve">Finishes flushing an output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if flush operation succeeded, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="splice" invoker="splice" throws="1">
<doc xml:space="preserve">Splices an input stream into an output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize containing the size of the data spliced, or
-1 if an error occurred. Note that if the number of bytes
For the synchronous, blocking version of this function, see
g_output_stream_splice().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="splice_finish" invoker="splice_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous stream splice operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize of the number of bytes spliced. Note that if the
number of bytes spliced is greater than %G_MAXSSIZE, then that
until @callback is called. See g_output_stream_write_bytes_async()
for a #GBytes version that will automatically hold a reference to
the contents (without copying) for the duration of the call.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="write_finish" invoker="write_finish" throws="1">
<doc xml:space="preserve">Finishes a stream write operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize containing the number of bytes written to the stream.</doc>
<type name="gssize" c:type="gssize"/>
partial result will be returned, without an error.
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
Note that no copy of @vectors will be made, so it must stay valid
until @callback is called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="writev_finish" invoker="writev_finish" version="2.60" throws="1">
<doc xml:space="preserve">Finishes a stream writev operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
aggregate buffer size, and will return %G_IO_ERROR_INVALID_ARGUMENT if these
are exceeded. For example, when writing to a local file on UNIX platforms,
the aggregate buffer size must not exceed %G_MAXSSIZE bytes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<method name="clear_pending" c:identifier="g_output_stream_clear_pending">
<doc xml:space="preserve">Clears the pending flag on @stream.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
can use a faster close that doesn't block to e.g. check errors. On
cancellation (as with any error) there is no guarantee that all written
data will reach the target.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure</doc>
<type name="gboolean" c:type="gboolean"/>
The asynchronous methods have a default fallback that uses threads
to implement asynchronicity, so they are optional for inheriting
classes. However, if you override one you must override all.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="close_finish" c:identifier="g_output_stream_close_finish" throws="1">
<doc xml:space="preserve">Closes an output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if stream was successfully closed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished @callback will be
called. You can then call g_output_stream_flush_finish() to get the
result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="flush_finish" c:identifier="g_output_stream_flush_finish" throws="1">
<doc xml:space="preserve">Finishes flushing an output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if flush operation succeeded, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="has_pending" c:identifier="g_output_stream_has_pending">
<doc xml:space="preserve">Checks if an output stream has pending actions.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream has pending actions.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_closed" c:identifier="g_output_stream_is_closed">
<doc xml:space="preserve">Checks if an output stream has already been closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is closed. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
used inside e.g. a flush implementation to see if the
flush (or other i/o operation) is called from within
the closing operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is being closed. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
need precise control over partial write failures, you need to
create you own printf()-like wrapper around g_output_stream_write()
or g_output_stream_write_all().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Sets @stream to have actions pending. If the pending flag is
already set or @stream is closed, it will return %FALSE and set
@error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if pending was previously unset and is now set.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="splice" c:identifier="g_output_stream_splice" throws="1">
<doc xml:space="preserve">Splices an input stream into an output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize containing the size of the data spliced, or
-1 if an error occurred. Note that if the number of bytes
For the synchronous, blocking version of this function, see
g_output_stream_splice().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="splice_finish" c:identifier="g_output_stream_splice_finish" throws="1">
<doc xml:space="preserve">Finishes an asynchronous stream splice operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize of the number of bytes spliced. Note that if the
number of bytes spliced is greater than %G_MAXSSIZE, then that
need precise control over partial write failures, you need to
create you own printf()-like wrapper around g_output_stream_write()
or g_output_stream_write_all().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
partial result will be returned, without an error.
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
functionality is only available from C. If you need it from another
language then you must write your own loop around
g_output_stream_write().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
Note that no copy of @buffer will be made, so it must stay valid
until @callback is called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
functionality is only available from C. If you need it from another
language then you must write your own loop around
g_output_stream_write_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
until @callback is called. See g_output_stream_write_bytes_async()
for a #GBytes version that will automatically hold a reference to
the contents (without copying) for the duration of the call.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
remaining bytes, using g_bytes_new_from_bytes(). Passing the same
#GBytes instance multiple times potentially can result in duplicated
data in the output stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
For the synchronous, blocking version of this function, see
g_output_stream_write_bytes().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="write_bytes_finish" c:identifier="g_output_stream_write_bytes_finish" throws="1">
<doc xml:space="preserve">Finishes a stream write-from-#GBytes operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize containing the number of bytes written to the stream.</doc>
<type name="gssize" c:type="gssize"/>
</method>
<method name="write_finish" c:identifier="g_output_stream_write_finish" throws="1">
<doc xml:space="preserve">Finishes a stream write operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize containing the number of bytes written to the stream.</doc>
<type name="gssize" c:type="gssize"/>
aggregate buffer size, and will return %G_IO_ERROR_INVALID_ARGUMENT if these
are exceeded. For example, when writing to a local file on UNIX platforms,
the aggregate buffer size must not exceed %G_MAXSSIZE bytes.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
The content of the individual elements of @vectors might be changed by this
function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
Note that no copy of @vectors will be made, so it must stay valid
until @callback is called. The content of the individual elements
of @vectors might be changed by this function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
functionality is only available from C. If you need it from another
language then you must write your own loop around
g_output_stream_writev_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
Note that no copy of @vectors will be made, so it must stay valid
until @callback is called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="writev_finish" c:identifier="g_output_stream_writev_finish" version="2.60" throws="1">
<doc xml:space="preserve">Finishes a stream writev operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="OutputStreamClass" c:type="GOutputStreamClass" glib:is-gtype-struct-for="OutputStream">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="write_fn">
<callback name="write_fn" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
</field>
<field name="splice">
<callback name="splice" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize containing the size of the data spliced, or
-1 if an error occurred. Note that if the number of bytes
</field>
<field name="flush">
<callback name="flush" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="close_fn">
<callback name="close_fn" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="write_async">
<callback name="write_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="write_finish">
<callback name="write_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize containing the number of bytes written to the stream.</doc>
<type name="gssize" c:type="gssize"/>
</field>
<field name="splice_async">
<callback name="splice_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="splice_finish">
<callback name="splice_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #gssize of the number of bytes spliced. Note that if the
number of bytes spliced is greater than %G_MAXSSIZE, then that
</field>
<field name="flush_async">
<callback name="flush_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="flush_finish">
<callback name="flush_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if flush operation succeeded, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="close_async">
<callback name="close_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="close_finish">
<callback name="close_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if stream was successfully closed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="writev_fn">
<callback name="writev_fn" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="writev_async">
<callback name="writev_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="writev_finish">
<callback name="writev_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved7" introspectable="0">
<callback name="_g_reserved7">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved8" introspectable="0">
<callback name="_g_reserved8">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="OutputStreamPrivate" c:type="GOutputStreamPrivate" disguised="1">
-
- </record>
+ <record name="OutputStreamPrivate" c:type="GOutputStreamPrivate" disguised="1"/>
<bitfield name="OutputStreamSpliceFlags" glib:type-name="GOutputStreamSpliceFlags" glib:get-type="g_output_stream_splice_flags_get_type" c:type="GOutputStreamSpliceFlags">
<doc xml:space="preserve">GOutputStreamSpliceFlags determine how streams should be spliced.</doc>
<member name="none" value="0" c:identifier="G_OUTPUT_STREAM_SPLICE_NONE" glib:nick="none">
You generally pass in an array of #GOutputVectors
and the operation will use all the buffers as if they were
one buffer.</doc>
-
<field name="buffer" writable="1">
<doc xml:space="preserve">Pointer to a buffer of data to read.</doc>
<type name="gpointer" c:type="gconstpointer"/>
</field>
</record>
<function-macro name="PERMISSION" c:identifier="G_PERMISSION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="PERMISSION_CLASS" c:identifier="G_PERMISSION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="PERMISSION_GET_CLASS" c:identifier="G_PERMISSION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="POLLABLE_INPUT_STREAM" c:identifier="G_POLLABLE_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="POLLABLE_INPUT_STREAM_GET_INTERFACE" c:identifier="G_POLLABLE_INPUT_STREAM_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="POLLABLE_OUTPUT_STREAM" c:identifier="G_POLLABLE_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="POLLABLE_OUTPUT_STREAM_GET_INTERFACE" c:identifier="G_POLLABLE_OUTPUT_STREAM_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROPERTY_ACTION" c:identifier="G_PROPERTY_ACTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY" c:identifier="G_PROXY" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_ADDRESS" c:identifier="G_PROXY_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_ADDRESS_CLASS" c:identifier="G_PROXY_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_ADDRESS_ENUMERATOR" c:identifier="G_PROXY_ADDRESS_ENUMERATOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_ADDRESS_ENUMERATOR_CLASS" c:identifier="G_PROXY_ADDRESS_ENUMERATOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_ADDRESS_ENUMERATOR_GET_CLASS" c:identifier="G_PROXY_ADDRESS_ENUMERATOR_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_ADDRESS_GET_CLASS" c:identifier="G_PROXY_ADDRESS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
<constant name="PROXY_EXTENSION_POINT_NAME" value="gio-proxy" c:type="G_PROXY_EXTENSION_POINT_NAME" version="2.26">
<doc xml:space="preserve">Extension point for proxy functionality.
See [Extending GIO][extending-gio].</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="PROXY_GET_IFACE" c:identifier="G_PROXY_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_RESOLVER" c:identifier="G_PROXY_RESOLVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
<constant name="PROXY_RESOLVER_EXTENSION_POINT_NAME" value="gio-proxy-resolver" c:type="G_PROXY_RESOLVER_EXTENSION_POINT_NAME">
<doc xml:space="preserve">Extension point for proxy resolving functionality.
See [Extending GIO][extending-gio].</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="PROXY_RESOLVER_GET_IFACE" c:identifier="G_PROXY_RESOLVER_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
then be used to decide if it is appropriate to show a "Click here to
unlock" button in a dialog and to provide the mechanism to invoke
when that button is clicked.</doc>
-
<virtual-method name="acquire" invoker="acquire" version="2.26" throws="1">
<doc xml:space="preserve">Attempts to acquire the permission represented by @permission.
This call is blocking, likely for a very long time (in the case that
user interaction is required). See g_permission_acquire_async() for
the non-blocking version.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully acquired</doc>
<type name="gboolean" c:type="gboolean"/>
This is the first half of the asynchronous version of
g_permission_acquire().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is the second half of the asynchronous version of
g_permission_acquire().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully acquired</doc>
<type name="gboolean" c:type="gboolean"/>
This call is blocking, likely for a very long time (in the case that
user interaction is required). See g_permission_release_async() for
the non-blocking version.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully released</doc>
<type name="gboolean" c:type="gboolean"/>
This is the first half of the asynchronous version of
g_permission_release().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is the second half of the asynchronous version of
g_permission_release().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully released</doc>
<type name="gboolean" c:type="gboolean"/>
This call is blocking, likely for a very long time (in the case that
user interaction is required). See g_permission_acquire_async() for
the non-blocking version.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully acquired</doc>
<type name="gboolean" c:type="gboolean"/>
This is the first half of the asynchronous version of
g_permission_acquire().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is the second half of the asynchronous version of
g_permission_acquire().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully acquired</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the value of the 'allowed' property. This property is %TRUE if
the caller currently has permission to perform the action that
@permission represents the permission to perform.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of the 'allowed' property</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the value of the 'can-acquire' property. This property is %TRUE
if it is generally possible to acquire the permission by calling
g_permission_acquire().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of the 'can-acquire' property</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the value of the 'can-release' property. This property is %TRUE
if it is generally possible to release the permission by calling
g_permission_release().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of the 'can-release' property</doc>
<type name="gboolean" c:type="gboolean"/>
function except from a #GPermission implementation.
GObject notify signals are generated, as appropriate.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This call is blocking, likely for a very long time (in the case that
user interaction is required). See g_permission_release_async() for
the non-blocking version.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully released</doc>
<type name="gboolean" c:type="gboolean"/>
This is the first half of the asynchronous version of
g_permission_release().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is the second half of the asynchronous version of
g_permission_release().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully released</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="PermissionClass" c:type="GPermissionClass" glib:is-gtype-struct-for="Permission">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="acquire">
<callback name="acquire" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully acquired</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="acquire_async">
<callback name="acquire_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="acquire_finish">
<callback name="acquire_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully acquired</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="release">
<callback name="release" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully released</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="release_async">
<callback name="release_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="release_finish">
<callback name="release_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the permission was successfully released</doc>
<type name="gboolean" c:type="gboolean"/>
</array>
</field>
</record>
- <record name="PermissionPrivate" c:type="GPermissionPrivate" disguised="1">
-
- </record>
+ <record name="PermissionPrivate" c:type="GPermissionPrivate" disguised="1"/>
<interface name="PollableInputStream" c:symbol-prefix="pollable_input_stream" c:type="GPollableInputStream" version="2.28" glib:type-name="GPollableInputStream" glib:get-type="g_pollable_input_stream_get_type" glib:type-struct="PollableInputStreamInterface">
<doc xml:space="preserve">#GPollableInputStream is implemented by #GInputStreams that
can be polled for readiness to read. This can be used when
interfacing with a non-GIO API that expects
UNIX-file-descriptor-style asynchronous I/O rather than GIO-style.</doc>
-
<prerequisite name="InputStream"/>
<virtual-method name="can_poll" invoker="can_poll" version="2.28">
<doc xml:space="preserve">Checks if @stream is actually pollable. Some classes may implement
For any given stream, the value returned by this method is constant;
a stream cannot switch from pollable to non-pollable or vice versa.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is pollable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
the stream may not actually be readable even after the source
triggers, so you should use g_pollable_input_stream_read_nonblocking()
rather than g_input_stream_read() from the callback.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
non-blocking behavior, you should always use
g_pollable_input_stream_read_nonblocking(), which will return a
%G_IO_ERROR_WOULD_BLOCK error rather than blocking.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is readable, %FALSE if not. If an error
has occurred on @stream, this will result in
if @cancellable has already been cancelled when you call, which
may happen if you call this method after a source triggers due
to having been cancelled.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes read, or -1 on error (including
%G_IO_ERROR_WOULD_BLOCK).</doc>
For any given stream, the value returned by this method is constant;
a stream cannot switch from pollable to non-pollable or vice versa.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is pollable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
the stream may not actually be readable even after the source
triggers, so you should use g_pollable_input_stream_read_nonblocking()
rather than g_input_stream_read() from the callback.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
non-blocking behavior, you should always use
g_pollable_input_stream_read_nonblocking(), which will return a
%G_IO_ERROR_WOULD_BLOCK error rather than blocking.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is readable, %FALSE if not. If an error
has occurred on @stream, this will result in
if @cancellable has already been cancelled when you call, which
may happen if you call this method after a source triggers due
to having been cancelled.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes read, or -1 on error (including
%G_IO_ERROR_WOULD_BLOCK).</doc>
to override it if it is possible that your @is_readable
implementation may return %TRUE when the stream is not actually
readable.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="can_poll">
<callback name="can_poll">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is pollable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="is_readable">
<callback name="is_readable">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is readable, %FALSE if not. If an error
has occurred on @stream, this will result in
</field>
<field name="create_source">
<callback name="create_source">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
</field>
<field name="read_nonblocking">
<callback name="read_nonblocking" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes read, or -1 on error (including
%G_IO_ERROR_WOULD_BLOCK).</doc>
can be polled for readiness to write. This can be used when
interfacing with a non-GIO API that expects
UNIX-file-descriptor-style asynchronous I/O rather than GIO-style.</doc>
-
<prerequisite name="OutputStream"/>
<virtual-method name="can_poll" invoker="can_poll" version="2.28">
<doc xml:space="preserve">Checks if @stream is actually pollable. Some classes may implement
For any given stream, the value returned by this method is constant;
a stream cannot switch from pollable to non-pollable or vice versa.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is pollable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
the stream may not actually be writable even after the source
triggers, so you should use g_pollable_output_stream_write_nonblocking()
rather than g_output_stream_write() from the callback.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
non-blocking behavior, you should always use
g_pollable_output_stream_write_nonblocking(), which will return a
%G_IO_ERROR_WOULD_BLOCK error rather than blocking.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is writable, %FALSE if not. If an error
has occurred on @stream, this will result in
Also note that if %G_IO_ERROR_WOULD_BLOCK is returned some underlying
transports like D/TLS require that you re-send the same @buffer and
@count in the next write call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes written, or -1 on error (including
%G_IO_ERROR_WOULD_BLOCK).</doc>
Also note that if %G_POLLABLE_RETURN_WOULD_BLOCK is returned some underlying
transports like D/TLS require that you re-send the same @vectors and
@n_vectors in the next write call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%@G_POLLABLE_RETURN_OK on success, %G_POLLABLE_RETURN_WOULD_BLOCK
if the stream is not currently writable (and @error is *not* set), or
For any given stream, the value returned by this method is constant;
a stream cannot switch from pollable to non-pollable or vice versa.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is pollable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
the stream may not actually be writable even after the source
triggers, so you should use g_pollable_output_stream_write_nonblocking()
rather than g_output_stream_write() from the callback.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
non-blocking behavior, you should always use
g_pollable_output_stream_write_nonblocking(), which will return a
%G_IO_ERROR_WOULD_BLOCK error rather than blocking.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is writable, %FALSE if not. If an error
has occurred on @stream, this will result in
Also note that if %G_IO_ERROR_WOULD_BLOCK is returned some underlying
transports like D/TLS require that you re-send the same @buffer and
@count in the next write call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes written, or -1 on error (including
%G_IO_ERROR_WOULD_BLOCK).</doc>
Also note that if %G_POLLABLE_RETURN_WOULD_BLOCK is returned some underlying
transports like D/TLS require that you re-send the same @vectors and
@n_vectors in the next write call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%@G_POLLABLE_RETURN_OK on success, %G_POLLABLE_RETURN_WOULD_BLOCK
if the stream is not currently writable (and @error is *not* set), or
its return value and error (if set) to a #GPollableReturn. You should
override this where possible to avoid having to allocate a #GError to return
%G_IO_ERROR_WOULD_BLOCK.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="can_poll">
<callback name="can_poll">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is pollable, %FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="is_writable">
<callback name="is_writable">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @stream is writable, %FALSE if not. If an error
has occurred on @stream, this will result in
</field>
<field name="create_source">
<callback name="create_source">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSource</doc>
<type name="GLib.Source" c:type="GSource*"/>
</field>
<field name="write_nonblocking">
<callback name="write_nonblocking" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes written, or -1 on error (including
%G_IO_ERROR_WOULD_BLOCK).</doc>
</field>
<field name="writev_nonblocking">
<callback name="writev_nonblocking" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%@G_POLLABLE_RETURN_OK on success, %G_POLLABLE_RETURN_WOULD_BLOCK
if the stream is not currently writable (and @error is *not* set), or
<doc xml:space="preserve">This is the function type of the callback used for the #GSource
returned by g_pollable_input_stream_create_source() and
g_pollable_output_stream_create_source().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">it should return %FALSE if the source should be removed.</doc>
<type name="gboolean" c:type="gboolean"/>
This function takes a reference on @object and doesn't release it
until the action is destroyed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GPropertyAction</doc>
<type name="PropertyAction" c:type="GPropertyAction*"/>
example, a SOCKS5 proxy implementation can be retrieved with the
name 'socks5' using the function
g_io_extension_point_get_extension_by_name().</doc>
-
<function name="get_default_for_protocol" c:identifier="g_proxy_get_default_for_protocol" version="2.26">
<doc xml:space="preserve">Find the `gio-proxy` extension point for a proxy implementation that supports
the specified protocol.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">return a #GProxy or NULL if protocol
is not supported.</doc>
<type name="Proxy" c:type="GProxy*"/>
#GSocketConnection that is connected to the proxy server), this
does the necessary handshake to connect to @proxy_address, and if
required, wraps the #GIOStream to handle proxy payload.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIOStream that will replace @connection. This might
be the same as @connection, in which case a reference
</virtual-method>
<virtual-method name="connect_async" invoker="connect_async" version="2.26">
<doc xml:space="preserve">Asynchronous version of g_proxy_connect().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="connect_finish" invoker="connect_finish" version="2.26" throws="1">
<doc xml:space="preserve">See g_proxy_connect().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIOStream.</doc>
<type name="IOStream" c:type="GIOStream*"/>
should resolve the destination hostname first, and then pass a
#GProxyAddress containing the stringified IP address to
g_proxy_connect() or g_proxy_connect_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if hostname resolution is supported.</doc>
<type name="gboolean" c:type="gboolean"/>
#GSocketConnection that is connected to the proxy server), this
does the necessary handshake to connect to @proxy_address, and if
required, wraps the #GIOStream to handle proxy payload.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIOStream that will replace @connection. This might
be the same as @connection, in which case a reference
</method>
<method name="connect_async" c:identifier="g_proxy_connect_async" version="2.26">
<doc xml:space="preserve">Asynchronous version of g_proxy_connect().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="connect_finish" c:identifier="g_proxy_connect_finish" version="2.26" throws="1">
<doc xml:space="preserve">See g_proxy_connect().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIOStream.</doc>
<type name="IOStream" c:type="GIOStream*"/>
should resolve the destination hostname first, and then pass a
#GProxyAddress containing the stringified IP address to
g_proxy_connect() or g_proxy_connect_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if hostname resolution is supported.</doc>
<type name="gboolean" c:type="gboolean"/>
</interface>
<class name="ProxyAddress" c:symbol-prefix="proxy_address" c:type="GProxyAddress" version="2.26" parent="InetSocketAddress" glib:type-name="GProxyAddress" glib:get-type="g_proxy_address_get_type" glib:type-struct="ProxyAddressClass">
<doc xml:space="preserve">Support for proxied #GInetSocketAddress.</doc>
-
<implements name="SocketConnectable"/>
<constructor name="new" c:identifier="g_proxy_address_new" version="2.26">
<doc xml:space="preserve">Creates a new #GProxyAddress for @inetaddr with @protocol that should
(Note that this method doesn't set the #GProxyAddress:uri or
#GProxyAddress:destination-protocol fields; use g_object_new()
directly if you want to set those.)</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GProxyAddress</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
<doc xml:space="preserve">Gets @proxy's destination hostname; that is, the name of the host
that will be connected to via the proxy, not the name of the proxy
itself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the @proxy's destination hostname</doc>
<type name="utf8" c:type="const gchar*"/>
<doc xml:space="preserve">Gets @proxy's destination port; that is, the port on the
destination host that will be connected to via the proxy, not the
port number of the proxy itself.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the @proxy's destination port</doc>
<type name="guint16" c:type="guint16"/>
<method name="get_destination_protocol" c:identifier="g_proxy_address_get_destination_protocol" version="2.34">
<doc xml:space="preserve">Gets the protocol that is being spoken to the destination
server; eg, "http" or "ftp".</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the @proxy's destination protocol</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_password" c:identifier="g_proxy_address_get_password" version="2.26">
<doc xml:space="preserve">Gets @proxy's password.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the @proxy's password</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_protocol" c:identifier="g_proxy_address_get_protocol" version="2.26">
<doc xml:space="preserve">Gets @proxy's protocol. eg, "socks" or "http"</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the @proxy's protocol</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_uri" c:identifier="g_proxy_address_get_uri" version="2.34">
<doc xml:space="preserve">Gets the proxy URI that @proxy was constructed from.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the @proxy's URI, or %NULL if unknown</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_username" c:identifier="g_proxy_address_get_username" version="2.26">
<doc xml:space="preserve">Gets @proxy's username.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the @proxy's username</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</class>
<record name="ProxyAddressClass" c:type="GProxyAddressClass" glib:is-gtype-struct-for="ProxyAddress" version="2.26">
<doc xml:space="preserve">Class structure for #GProxyAddress.</doc>
-
<field name="parent_class">
<type name="InetSocketAddressClass" c:type="GInetSocketAddressClass"/>
</field>
g_socket_connectable_enumerate()) as appropriate when a proxy is configured;
there should be no need to manually wrap a #GSocketAddressEnumerator instance
with one.</doc>
-
<property name="connectable" writable="1" construct-only="1" transfer-ownership="none">
<type name="SocketConnectable"/>
</property>
</class>
<record name="ProxyAddressEnumeratorClass" c:type="GProxyAddressEnumeratorClass" glib:is-gtype-struct-for="ProxyAddressEnumerator">
<doc xml:space="preserve">Class structure for #GProxyAddressEnumerator.</doc>
-
<field name="parent_class" readable="0" private="1">
<type name="SocketAddressEnumeratorClass" c:type="GSocketAddressEnumeratorClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved7" introspectable="0">
<callback name="_g_reserved7">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="ProxyAddressEnumeratorPrivate" c:type="GProxyAddressEnumeratorPrivate" disguised="1">
-
- </record>
- <record name="ProxyAddressPrivate" c:type="GProxyAddressPrivate" disguised="1">
-
- </record>
+ <record name="ProxyAddressEnumeratorPrivate" c:type="GProxyAddressEnumeratorPrivate" disguised="1"/>
+ <record name="ProxyAddressPrivate" c:type="GProxyAddressPrivate" disguised="1"/>
<record name="ProxyInterface" c:type="GProxyInterface" glib:is-gtype-struct-for="Proxy" version="2.26">
<doc xml:space="preserve">Provides an interface for handling proxy connection and payload.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="connect">
<callback name="connect" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIOStream that will replace @connection. This might
be the same as @connection, in which case a reference
</field>
<field name="connect_async">
<callback name="connect_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="connect_finish">
<callback name="connect_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIOStream.</doc>
<type name="IOStream" c:type="GIOStream*"/>
</field>
<field name="supports_hostname">
<callback name="supports_hostname">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if hostname resolution is supported.</doc>
<type name="gboolean" c:type="gboolean"/>
Implementations of #GProxyResolver based on libproxy and GNOME settings can
be found in glib-networking. GIO comes with an implementation for use inside
Flatpak portals.</doc>
-
<function name="get_default" c:identifier="g_proxy_resolver_get_default" version="2.26">
<doc xml:space="preserve">Gets the default #GProxyResolver for the system.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the default #GProxyResolver.</doc>
+ <doc xml:space="preserve">the default #GProxyResolver, which
+ will be a dummy object if no proxy resolver is available</doc>
<type name="ProxyResolver" c:type="GProxyResolver*"/>
</return-value>
</function>
<doc xml:space="preserve">Checks if @resolver can be used on this system. (This is used
internally; g_proxy_resolver_get_default() will only return a proxy
resolver that returns %TRUE for this method.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @resolver is supported.</doc>
<type name="gboolean" c:type="gboolean"/>
`direct://` is used when no proxy is needed.
Direct connection should not be attempted unless it is part of the
returned array of proxies.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
NULL-terminated array of proxy URIs. Must be freed
<virtual-method name="lookup_async" invoker="lookup_async" version="2.26">
<doc xml:space="preserve">Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more
details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Call this function to obtain the array of proxy URIs when
g_proxy_resolver_lookup_async() is complete. See
g_proxy_resolver_lookup() for more details.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
NULL-terminated array of proxy URIs. Must be freed
<doc xml:space="preserve">Checks if @resolver can be used on this system. (This is used
internally; g_proxy_resolver_get_default() will only return a proxy
resolver that returns %TRUE for this method.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @resolver is supported.</doc>
<type name="gboolean" c:type="gboolean"/>
`direct://` is used when no proxy is needed.
Direct connection should not be attempted unless it is part of the
returned array of proxies.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
NULL-terminated array of proxy URIs. Must be freed
<method name="lookup_async" c:identifier="g_proxy_resolver_lookup_async" version="2.26">
<doc xml:space="preserve">Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more
details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Call this function to obtain the array of proxy URIs when
g_proxy_resolver_lookup_async() is complete. See
g_proxy_resolver_lookup() for more details.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
NULL-terminated array of proxy URIs. Must be freed
</interface>
<record name="ProxyResolverInterface" c:type="GProxyResolverInterface" glib:is-gtype-struct-for="ProxyResolver">
<doc xml:space="preserve">The virtual function table for #GProxyResolver.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="is_supported">
<callback name="is_supported">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @resolver is supported.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="lookup">
<callback name="lookup" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
NULL-terminated array of proxy URIs. Must be freed
</field>
<field name="lookup_async">
<callback name="lookup_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_finish">
<callback name="lookup_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A
NULL-terminated array of proxy URIs. Must be freed
</field>
</record>
<function-macro name="REMOTE_ACTION_GROUP" c:identifier="G_REMOTE_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="REMOTE_ACTION_GROUP_GET_IFACE" c:identifier="G_REMOTE_ACTION_GROUP_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="RESOLVER" c:identifier="G_RESOLVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="RESOLVER_CLASS" c:identifier="G_RESOLVER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="RESOLVER_GET_CLASS" c:identifier="G_RESOLVER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
@size bytes.
The function should have the same semantics as realloc().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer to the reallocated memory</doc>
<type name="gpointer" c:type="gpointer"/>
`_full` variants of the calls if available. This
provides a mechanism by which to receive platform data for action
invocations that arrive by way of D-Bus.</doc>
-
<prerequisite name="ActionGroup"/>
<virtual-method name="activate_action_full" invoker="activate_action_full" version="2.32">
<doc xml:space="preserve">Activates the remote action.
@platform_data must be non-%NULL and must have the type
%G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@platform_data must be non-%NULL and must have the type
%G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@platform_data must be non-%NULL and must have the type
%G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@platform_data must be non-%NULL and must have the type
%G_VARIANT_TYPE_VARDICT. If it is floating, it will be consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<record name="RemoteActionGroupInterface" c:type="GRemoteActionGroupInterface" glib:is-gtype-struct-for="RemoteActionGroup" version="2.32">
<doc xml:space="preserve">The virtual function table for #GRemoteActionGroup.</doc>
-
<field name="g_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="activate_action_full">
<callback name="activate_action_full">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="change_action_state_full">
<callback name="change_action_state_full">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
#GNetworkAddress and #GNetworkService provide wrappers around
#GResolver functionality that also implement #GSocketConnectable,
making it easy to connect to a remote host/service.</doc>
-
<function name="free_addresses" c:identifier="g_resolver_free_addresses" version="2.22" introspectable="0">
<doc xml:space="preserve">Frees @addresses (which should be the return value from
g_resolver_lookup_by_name() or g_resolver_lookup_by_name_finish()).
(This is a convenience method; you can also simply free the results
by hand.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_resolver_lookup_service() or g_resolver_lookup_service_finish()).
(This is a convenience method; you can also simply free the
results by hand.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Gets the default #GResolver. You should unref it when you are done
with it. #GResolver may use its reference count as a hint about how
many threads it should allocate for concurrent DNS resolutions.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the default #GResolver.</doc>
<type name="Resolver" c:type="GResolver*"/>
If @cancellable is non-%NULL, it can be used to cancel the
operation, in which case @error (if non-%NULL) will be set to
%G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a hostname (either ASCII-only, or in ASCII-encoded
form), or %NULL on error.</doc>
<doc xml:space="preserve">Begins asynchronously reverse-resolving @address to determine its
associated hostname, and eventually calls @callback, which must
call g_resolver_lookup_by_address_finish() to get the final result.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a hostname (either ASCII-only, or in ASCII-encoded
form), or %NULL on error.</doc>
If you are planning to connect to a socket on the resolved IP
address, it may be easier to create a #GNetworkAddress and use its
#GSocketConnectable interface.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList
of #GInetAddress, or %NULL on error. You
associated IP address(es), and eventually calls @callback, which
must call g_resolver_lookup_by_name_finish() to get the result.
See g_resolver_lookup_by_name() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList
of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
<doc xml:space="preserve">This differs from g_resolver_lookup_by_name() in that you can modify
the lookup behavior with @flags. For example this can be used to limit
results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList
of #GInetAddress, or %NULL on error. You
associated IP address(es), and eventually calls @callback, which
must call g_resolver_lookup_by_name_with_flags_finish() to get the result.
See g_resolver_lookup_by_name() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList
of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
If @cancellable is non-%NULL, it can be used to cancel the
operation, in which case @error (if non-%NULL) will be set to
%G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GVariant, or %NULL on error. You must free each of the records and the list
@rrname, and eventually calls @callback, which must call
g_resolver_lookup_records_finish() to get the final result. See
g_resolver_lookup_records() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GVariant, or %NULL on error. You must free each of the records and the list
</parameters>
</virtual-method>
<virtual-method name="lookup_service" introspectable="0" throws="1">
-
<return-value>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</parameters>
</virtual-method>
<virtual-method name="lookup_service_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GSrvTarget, or %NULL on error. See g_resolver_lookup_service() for more
</parameters>
</virtual-method>
<virtual-method name="reload">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @cancellable is non-%NULL, it can be used to cancel the
operation, in which case @error (if non-%NULL) will be set to
%G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a hostname (either ASCII-only, or in ASCII-encoded
form), or %NULL on error.</doc>
<doc xml:space="preserve">Begins asynchronously reverse-resolving @address to determine its
associated hostname, and eventually calls @callback, which must
call g_resolver_lookup_by_address_finish() to get the final result.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a hostname (either ASCII-only, or in ASCII-encoded
form), or %NULL on error.</doc>
If you are planning to connect to a socket on the resolved IP
address, it may be easier to create a #GNetworkAddress and use its
#GSocketConnectable interface.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList
of #GInetAddress, or %NULL on error. You
associated IP address(es), and eventually calls @callback, which
must call g_resolver_lookup_by_name_finish() to get the result.
See g_resolver_lookup_by_name() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList
of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
<doc xml:space="preserve">This differs from g_resolver_lookup_by_name() in that you can modify
the lookup behavior with @flags. For example this can be used to limit
results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList
of #GInetAddress, or %NULL on error. You
associated IP address(es), and eventually calls @callback, which
must call g_resolver_lookup_by_name_with_flags_finish() to get the result.
See g_resolver_lookup_by_name() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList
of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
If @cancellable is non-%NULL, it can be used to cancel the
operation, in which case @error (if non-%NULL) will be set to
%G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GVariant, or %NULL on error. You must free each of the records and the list
@rrname, and eventually calls @callback, which must call
g_resolver_lookup_records_finish() to get the final result. See
g_resolver_lookup_records() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GVariant, or %NULL on error. You must free each of the records and the list
If you are planning to connect to the service, it is usually easier
to create a #GNetworkService and use its #GSocketConnectable
interface.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GSrvTarget, or %NULL on error. You must free each of the targets and the
@callback, which must call g_resolver_lookup_service_finish() to
get the final result. See g_resolver_lookup_service() for more
details.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the DNS resolution failed, @error (if non-%NULL) will be set to
a value from #GResolverError. If the operation was cancelled,
@error will be set to %G_IO_ERROR_CANCELLED.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GSrvTarget, or %NULL on error. See g_resolver_lookup_service() for more
calls the original default resolver for DNS operations, and
implements its own cache policies on top of that, and then set
itself as the default resolver for all later code to use.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="ResolverClass" c:type="GResolverClass" glib:is-gtype-struct-for="Resolver">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="reload">
<callback name="reload">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_by_name">
<callback name="lookup_by_name" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList
of #GInetAddress, or %NULL on error. You
</field>
<field name="lookup_by_name_async">
<callback name="lookup_by_name_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_by_name_finish">
<callback name="lookup_by_name_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList
of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
</field>
<field name="lookup_by_address">
<callback name="lookup_by_address" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a hostname (either ASCII-only, or in ASCII-encoded
form), or %NULL on error.</doc>
</field>
<field name="lookup_by_address_async">
<callback name="lookup_by_address_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_by_address_finish">
<callback name="lookup_by_address_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a hostname (either ASCII-only, or in ASCII-encoded
form), or %NULL on error.</doc>
</field>
<field name="lookup_service" introspectable="0">
<callback name="lookup_service" introspectable="0" throws="1">
-
<return-value>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="lookup_service_async">
<callback name="lookup_service_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_service_finish">
<callback name="lookup_service_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GSrvTarget, or %NULL on error. See g_resolver_lookup_service() for more
</field>
<field name="lookup_records">
<callback name="lookup_records" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GVariant, or %NULL on error. You must free each of the records and the list
</field>
<field name="lookup_records_async">
<callback name="lookup_records_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_records_finish">
<callback name="lookup_records_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList of
#GVariant, or %NULL on error. You must free each of the records and the list
</field>
<field name="lookup_by_name_with_flags_async">
<callback name="lookup_by_name_with_flags_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_by_name_with_flags_finish">
<callback name="lookup_by_name_with_flags_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList
of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
</field>
<field name="lookup_by_name_with_flags">
<callback name="lookup_by_name_with_flags" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a non-empty #GList
of #GInetAddress, or %NULL on error. You
<doc xml:space="preserve">only resolve ipv6 addresses</doc>
</member>
</bitfield>
- <record name="ResolverPrivate" c:type="GResolverPrivate" disguised="1">
-
- </record>
+ <record name="ResolverPrivate" c:type="GResolverPrivate" disguised="1"/>
<enumeration name="ResolverRecordType" version="2.34" glib:type-name="GResolverRecordType" glib:get-type="g_resolver_record_type_get_type" c:type="GResolverRecordType">
<doc xml:space="preserve">The type of record that g_resolver_lookup_records() or
g_resolver_lookup_records_async() should retrieve. The records are returned
the xmllint executable, or xmllint must be in the `PATH`; otherwise
the preprocessing step is skipped.
-`to-pixdata` which will use the gdk-pixbuf-pixdata command to convert
-images to the GdkPixdata format, which allows you to create pixbufs directly using the data inside
-the resource file, rather than an (uncompressed) copy of it. For this, the gdk-pixbuf-pixdata
-program must be in the PATH, or the `GDK_PIXBUF_PIXDATA` environment variable must be
-set to the full path to the gdk-pixbuf-pixdata executable; otherwise the resource compiler will
-abort.
+`to-pixdata` (deprecated since gdk-pixbuf 2.32) which will use the
+`gdk-pixbuf-pixdata` command to convert images to the #GdkPixdata format,
+which allows you to create pixbufs directly using the data inside the
+resource file, rather than an (uncompressed) copy of it. For this, the
+`gdk-pixbuf-pixdata` program must be in the `PATH`, or the
+`GDK_PIXBUF_PIXDATA` environment variable must be set to the full path to the
+`gdk-pixbuf-pixdata` executable; otherwise the resource compiler will abort.
+`to-pixdata` has been deprecated since gdk-pixbuf 2.32, as #GResource
+supports embedding modern image formats just as well. Instead of using it,
+embed a PNG or SVG file in your #GResource.
`json-stripblanks` which will use the `json-glib-format` command to strip
ignorable whitespace from the JSON file. For this to work, the
replace resources in the program or library, without recompiling, for debugging or quick hacking and testing
purposes. Since GLib 2.50, it is possible to use the `G_RESOURCE_OVERLAYS` environment variable to selectively overlay
resources with replacements from the filesystem. It is a %G_SEARCHPATH_SEPARATOR-separated list of substitutions to perform
-during resource lookups.
+during resource lookups. It is ignored when running in a setuid process.
A substitution has the form
Substitutions must start with a slash, and must not contain a trailing slash before the '='. The path after
the slash should ideally be absolute, but this is not strictly required. It is possible to overlay the
location of a single resource with an individual file.</doc>
-
<constructor name="new_from_data" c:identifier="g_resource_new_from_data" version="2.32" throws="1">
<doc xml:space="preserve">Creates a GResource from a reference to the binary resource bundle.
This will keep a reference to @data while the resource lives, so
GLib 2.56, or in older versions fail and exit the process.
If @data is empty or corrupt, %G_RESOURCE_ERROR_INTERNAL will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GResource, or %NULL on error</doc>
<type name="Resource" c:type="GResource*"/>
<doc xml:space="preserve">Registers the resource with the process-global set of resources.
Once a resource is registered the files in it can be accessed
with the global resource lookup functions like g_resources_lookup_data().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="_unregister" c:identifier="g_resources_unregister" moved-to="resources_unregister" version="2.32">
<doc xml:space="preserve">Unregisters the resource from the process-global set of resources.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%G_RESOURCE_ERROR_NOT_FOUND will be returned.
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an array of constant strings</doc>
<array c:type="char**">
if found returns information about it.
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was found. %FALSE if there were errors</doc>
<type name="gboolean" c:type="gboolean"/>
the heap and automatically uncompress the data.
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GBytes or %NULL on error.
Free the returned object with g_bytes_unref()</doc>
returns a #GInputStream that lets you read the data.
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GInputStream or %NULL on error.
Free the returned object with g_object_unref()</doc>
<method name="ref" c:identifier="g_resource_ref" version="2.32">
<doc xml:space="preserve">Atomically increments the reference count of @resource by one. This
function is MT-safe and may be called from any thread.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The passed in #GResource</doc>
<type name="Resource" c:type="GResource*"/>
reference count drops to 0, all memory allocated by the resource is
released. This function is MT-safe and may be called from any
thread.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%G_RESOURCE_ERROR_INTERNAL will be returned. If @filename doesn’t exist, or
there is an error in reading it, an error from g_mapped_file_new() will be
returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GResource, or %NULL on error</doc>
<type name="Resource" c:type="GResource*"/>
</member>
</bitfield>
<function-macro name="SEEKABLE" c:identifier="G_SEEKABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SEEKABLE_GET_IFACE" c:identifier="G_SEEKABLE_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SETTINGS" c:identifier="G_SETTINGS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SETTINGS_BACKEND" c:identifier="G_SETTINGS_BACKEND" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SETTINGS_BACKEND_CLASS" c:identifier="G_SETTINGS_BACKEND_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</function-macro>
<constant name="SETTINGS_BACKEND_EXTENSION_POINT_NAME" value="gsettings-backend" c:type="G_SETTINGS_BACKEND_EXTENSION_POINT_NAME">
<doc xml:space="preserve">Extension point for #GSettingsBackend functionality.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="SETTINGS_BACKEND_GET_CLASS" c:identifier="G_SETTINGS_BACKEND_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SETTINGS_CLASS" c:identifier="G_SETTINGS_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SETTINGS_GET_CLASS" c:identifier="G_SETTINGS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_ACTION" c:identifier="G_SIMPLE_ACTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_ACTION_GROUP" c:identifier="G_SIMPLE_ACTION_GROUP" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_ACTION_GROUP_CLASS" c:identifier="G_SIMPLE_ACTION_GROUP_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_ACTION_GROUP_GET_CLASS" c:identifier="G_SIMPLE_ACTION_GROUP_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_ASYNC_RESULT" c:identifier="G_SIMPLE_ASYNC_RESULT" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_ASYNC_RESULT_CLASS" c:identifier="G_SIMPLE_ASYNC_RESULT_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_ASYNC_RESULT_GET_CLASS" c:identifier="G_SIMPLE_ASYNC_RESULT_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_IO_STREAM" c:identifier="G_SIMPLE_IO_STREAM" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_PERMISSION" c:identifier="G_SIMPLE_PERMISSION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_PROXY_RESOLVER" c:identifier="G_SIMPLE_PROXY_RESOLVER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_PROXY_RESOLVER_CLASS" c:identifier="G_SIMPLE_PROXY_RESOLVER_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="SIMPLE_PROXY_RESOLVER_GET_CLASS" c:identifier="G_SIMPLE_PROXY_RESOLVER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET" c:identifier="G_SOCKET" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_ADDRESS" c:identifier="G_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_ADDRESS_CLASS" c:identifier="G_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_ADDRESS_ENUMERATOR" c:identifier="G_SOCKET_ADDRESS_ENUMERATOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_ADDRESS_ENUMERATOR_CLASS" c:identifier="G_SOCKET_ADDRESS_ENUMERATOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_ADDRESS_ENUMERATOR_GET_CLASS" c:identifier="G_SOCKET_ADDRESS_ENUMERATOR_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_ADDRESS_GET_CLASS" c:identifier="G_SOCKET_ADDRESS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CLASS" c:identifier="G_SOCKET_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CLIENT" c:identifier="G_SOCKET_CLIENT" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CLIENT_CLASS" c:identifier="G_SOCKET_CLIENT_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CLIENT_GET_CLASS" c:identifier="G_SOCKET_CLIENT_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONNECTABLE" c:identifier="G_SOCKET_CONNECTABLE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONNECTABLE_GET_IFACE" c:identifier="G_SOCKET_CONNECTABLE_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONNECTION" c:identifier="G_SOCKET_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONNECTION_CLASS" c:identifier="G_SOCKET_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONNECTION_GET_CLASS" c:identifier="G_SOCKET_CONNECTION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONTROL_MESSAGE" c:identifier="G_SOCKET_CONTROL_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONTROL_MESSAGE_CLASS" c:identifier="G_SOCKET_CONTROL_MESSAGE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_CONTROL_MESSAGE_GET_CLASS" c:identifier="G_SOCKET_CONTROL_MESSAGE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_GET_CLASS" c:identifier="G_SOCKET_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_LISTENER" c:identifier="G_SOCKET_LISTENER" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_LISTENER_CLASS" c:identifier="G_SOCKET_LISTENER_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_LISTENER_GET_CLASS" c:identifier="G_SOCKET_LISTENER_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_SERVICE" c:identifier="G_SOCKET_SERVICE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_SERVICE_CLASS" c:identifier="G_SOCKET_SERVICE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="SOCKET_SERVICE_GET_CLASS" c:identifier="G_SOCKET_SERVICE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="SUBPROCESS" c:identifier="G_SUBPROCESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="SUBPROCESS_LAUNCHER" c:identifier="G_SUBPROCESS_LAUNCHER" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
#GSeekable on resizable streams is approximately the same as POSIX
lseek() on a normal file. Seeking past the end and writing data will
usually cause the stream to resize by introducing zero bytes.</doc>
-
<virtual-method name="can_seek" invoker="can_seek">
<doc xml:space="preserve">Tests if the stream supports the #GSeekableIface.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @seekable can be seeked. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="can_truncate" invoker="can_truncate">
<doc xml:space="preserve">Tests if the length of the stream can be adjusted with
g_seekable_truncate().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream can be truncated, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error
has occurred, this function will return %FALSE and set @error
</virtual-method>
<virtual-method name="tell" invoker="tell">
<doc xml:space="preserve">Tells the current position within the stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the offset from the beginning of the buffer.</doc>
<type name="gint64" c:type="goffset"/>
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
operation was partially finished when the operation was cancelled the
partial result will be returned, without an error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error
has occurred, this function will return %FALSE and set @error
</virtual-method>
<method name="can_seek" c:identifier="g_seekable_can_seek">
<doc xml:space="preserve">Tests if the stream supports the #GSeekableIface.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @seekable can be seeked. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="can_truncate" c:identifier="g_seekable_can_truncate">
<doc xml:space="preserve">Tests if the length of the stream can be adjusted with
g_seekable_truncate().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream can be truncated, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error
has occurred, this function will return %FALSE and set @error
</method>
<method name="tell" c:identifier="g_seekable_tell">
<doc xml:space="preserve">Tells the current position within the stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the offset from the beginning of the buffer.</doc>
<type name="gint64" c:type="goffset"/>
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
operation was partially finished when the operation was cancelled the
partial result will be returned, without an error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error
has occurred, this function will return %FALSE and set @error
</interface>
<record name="SeekableIface" c:type="GSeekableIface" glib:is-gtype-struct-for="Seekable">
<doc xml:space="preserve">Provides an interface for implementing seekable functionality on I/O Streams.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="tell">
<callback name="tell">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the offset from the beginning of the buffer.</doc>
<type name="gint64" c:type="goffset"/>
</field>
<field name="can_seek">
<callback name="can_seek">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @seekable can be seeked. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="seek">
<callback name="seek" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error
has occurred, this function will return %FALSE and set @error
</field>
<field name="can_truncate">
<callback name="can_truncate">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the stream can be truncated, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="truncate_fn">
<callback name="truncate_fn" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful. If an error
has occurred, this function will return %FALSE and set @error
automatically included in the schema compilation, install and uninstall
rules. It should not be committed to version control or included in
`EXTRA_DIST`.</doc>
-
<constructor name="new" c:identifier="g_settings_new" version="2.26">
<doc xml:space="preserve">Creates a new #GSettings object with the schema specified by
@schema_id.
via the thread-default #GMainContext in effect at the time of the
call to g_settings_new(). The new #GSettings will hold a reference
on the context. See g_main_context_push_thread_default().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSettings object</doc>
<type name="Settings" c:type="GSettings*"/>
error if @path is %NULL and the schema has no path of its own or if
@path is non-%NULL and not equal to the path that the schema does
have.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSettings object</doc>
<type name="Settings" c:type="GSettings*"/>
sense to pass a backend corresponding to the "defaults" settings database on
the system to get a settings object that modifies the system default
settings instead of the settings for this user.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSettings object</doc>
<type name="Settings" c:type="GSettings*"/>
This is a mix of g_settings_new_with_backend() and
g_settings_new_with_path().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSettings object</doc>
<type name="Settings" c:type="GSettings*"/>
It is a programmer error if @path is not a valid path. A valid path
begins and ends with '/' and does not contain two consecutive '/'
characters.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSettings object</doc>
<type name="Settings" c:type="GSettings*"/>
<function name="list_relocatable_schemas" c:identifier="g_settings_list_relocatable_schemas" version="2.28" deprecated="1" deprecated-version="2.40">
<doc xml:space="preserve">Deprecated.</doc>
<doc-deprecated xml:space="preserve">Use g_settings_schema_source_list_schemas() instead</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a list of relocatable
#GSettings schemas that are available, in no defined order. The list must
If you used g_settings_list_schemas() to check for the presence of
a particular schema, use g_settings_schema_source_lookup() instead
of your whole loop.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a list of #GSettings
schemas that are available, in no defined order. The list must not be
backend. Since the mainloop is not running, no change notifications
will be dispatched during this call (but some may be queued by the
time the call is done).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that bindings are automatically removed when the
object is finalized, so it is rarely necessary to call this
function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<virtual-method name="change_event">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="writable_change_event">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="writable_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
function does nothing unless @settings is in 'delay-apply' mode;
see g_settings_delay(). In the normal case settings are always
applied immediately.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
and that you can have only one binding per object property.
If you bind the same property twice on the same object, the second
binding overrides the first one.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
and that you can have only one binding per object property.
If you bind the same property twice on the same object, the second
binding overrides the first one.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
and that you can have only one binding per object property.
If you bind the same property twice on the same object, the second
binding overrides the first one.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
result in the toggling of the value. For all other types,
activations take the new value for the key (which must have the
correct type).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GAction</doc>
<type name="Action" c:type="GAction*"/>
<doc xml:space="preserve">Changes the #GSettings object into 'delay-apply' mode. In this
mode, changes to @settings are not immediately propagated to the
backend, but kept locally until g_settings_apply() is called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is a programmer error to give a @key that isn't contained in the
schema for @settings or for the #GVariantType of @format to mismatch
the type given in the schema.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is a programmer error to give a @key that isn't specified as
having a boolean type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a boolean</doc>
<type name="gboolean" c:type="gboolean"/>
The schema for the child settings object must have been declared
in the schema of @settings using a <child> element.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a 'child' settings object</doc>
<type name="Settings" c:type="GSettings*"/>
It is a programmer error to give a @key that isn't contained in the
schema for @settings.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the default value</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
It is a programmer error to give a @key that isn't specified as
having a 'double' type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a double</doc>
<type name="gdouble" c:type="gdouble"/>
If the value stored in the configuration database is not a valid
value for the enumerated type then this function will return the
default value.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the enum value</doc>
<type name="gint" c:type="gint"/>
If the value stored in the configuration database is not a valid
value for the flags type then this function will return the default
value.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the flags value</doc>
<type name="guint" c:type="guint"/>
<method name="get_has_unapplied" c:identifier="g_settings_get_has_unapplied" version="2.26">
<doc xml:space="preserve">Returns whether the #GSettings object has any unapplied
changes. This can only be the case if it is in 'delayed-apply' mode.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @settings has unapplied changes</doc>
<type name="gboolean" c:type="gboolean"/>
It is a programmer error to give a @key that isn't specified as
having a int32 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an integer</doc>
<type name="gint" c:type="gint"/>
It is a programmer error to give a @key that isn't specified as
having a int64 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a 64-bit integer</doc>
<type name="gint64" c:type="gint64"/>
to each invocation of @mapping. The final value of that #gpointer is
what is returned by this function. %NULL is valid; it is returned
just as any other value would be.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the result, which may be %NULL</doc>
<type name="gpointer" c:type="gpointer"/>
<method name="get_range" c:identifier="g_settings_get_range" version="2.28" deprecated="1" deprecated-version="2.40">
<doc xml:space="preserve">Queries the range of a key.</doc>
<doc-deprecated xml:space="preserve">Use g_settings_schema_key_get_range() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
It is a programmer error to give a @key that isn't specified as
having a string type in the schema for @settings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly-allocated string</doc>
<type name="utf8" c:type="gchar*"/>
It is a programmer error to give a @key that isn't specified as
having an array of strings type in the schema for @settings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a
newly-allocated, %NULL-terminated array of strings, the value that
It is a programmer error to give a @key that isn't specified as
having a uint32 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an unsigned integer</doc>
<type name="guint" c:type="guint"/>
It is a programmer error to give a @key that isn't specified as
having a uint64 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a 64-bit unsigned integer</doc>
<type name="guint64" c:type="guint64"/>
It is a programmer error to give a @key that isn't contained in the
schema for @settings.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the user's value, if set</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
It is a programmer error to give a @key that isn't contained in the
schema for @settings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GVariant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</method>
<method name="is_writable" c:identifier="g_settings_is_writable" version="2.26">
<doc xml:space="preserve">Finds out if a key can be written or not</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the key @name is writable</doc>
<type name="gboolean" c:type="gboolean"/>
You should free the return value with g_strfreev() when you are done
with it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a list of the children on
@settings, in no defined order</doc>
You should free the return value with g_strfreev() when you are done
with it.</doc>
<doc-deprecated xml:space="preserve">Use g_settings_schema_list_keys() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a list of the keys on
@settings, in no defined order</doc>
<doc xml:space="preserve">Checks if the given @value is of the correct type and within the
permitted range for @key.</doc>
<doc-deprecated xml:space="preserve">Use g_settings_schema_key_range_check() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @value is valid for @key</doc>
<type name="gboolean" c:type="gboolean"/>
This call resets the key, as much as possible, to its default value.
That might be the value specified in the schema or the one set by the
administrator.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
immediately.
Change notifications will be emitted for affected keys.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is a programmer error to give a @key that isn't contained in the
schema for @settings or for the #GVariantType of @format to mismatch
the type given in the schema.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
It is a programmer error to give a @key that isn't specified as
having a boolean type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
It is a programmer error to give a @key that isn't specified as
having a 'double' type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
After performing the write, accessing @key directly with
g_settings_get_string() will return the 'nick' associated with
@value.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, if the set succeeds</doc>
<type name="gboolean" c:type="gboolean"/>
After performing the write, accessing @key directly with
g_settings_get_strv() will return an array of 'nicks'; one for each
bit in @value.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, if the set succeeds</doc>
<type name="gboolean" c:type="gboolean"/>
It is a programmer error to give a @key that isn't specified as
having a int32 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
It is a programmer error to give a @key that isn't specified as
having a int64 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
It is a programmer error to give a @key that isn't specified as
having a string type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
It is a programmer error to give a @key that isn't specified as
having an array of strings type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
It is a programmer error to give a @key that isn't specified as
having a uint32 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
It is a programmer error to give a @key that isn't specified as
having a uint64 type in the schema for @settings.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
the schema.
If @value is floating then this function consumes the reference.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if setting the key succeeded,
%FALSE if the key was not writable</doc>
as the public GIO API. For this reason, you have to define the
C preprocessor symbol %G_SETTINGS_ENABLE_BACKEND before including
`gio/gsettingsbackend.h`.</doc>
-
<function name="flatten_tree" c:identifier="g_settings_backend_flatten_tree" version="2.26">
<doc xml:space="preserve">Calculate the longest common prefix of all keys in a tree and write
out an array of the key names relative to that prefix and,
You must free the value returned in @path, @keys and @values using
g_free(). You should not attempt to free or unref the contents of
@keys or @values.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
to the name of a settings backend.
The user gets a reference to the backend.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the default #GSettingsBackend</doc>
+ <doc xml:space="preserve">the default #GSettingsBackend,
+ which will be a dummy (memory) settings backend if no other settings
+ backend is available.</doc>
<type name="SettingsBackend" c:type="GSettingsBackend*"/>
</return-value>
</function>
<virtual-method name="get_permission" introspectable="0">
-
<return-value>
<type name="Permission" c:type="GPermission*"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="get_writable">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="read">
-
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="read_user_value">
-
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="reset">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="subscribe">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="sync">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="unsubscribe">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="write">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="write_tree">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
In the case that this call is in response to a call to
g_settings_backend_write() then @origin_tag must be set to the same
value that was passed to that call.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">This call is a convenience wrapper. It gets the list of changes from
@tree, computes the longest common prefix and calls
g_settings_backend_changed().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
For efficiency reasons, the implementation should strive for @path to
be as long as possible (ie: the longest common prefix of all of the
keys that were changed) but this is not strictly required.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
keys that were changed) but this is not strictly required. As an
example, if this function is called with the path of "/" then every
single key in the application will be notified of a possible change.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Since GSettings performs no locking operations for itself, this call
will always be made in response to external events.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Since GSettings performs no locking operations for itself, this call
will always be made in response to external events.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="SettingsBackendClass" c:type="GSettingsBackendClass" glib:is-gtype-struct-for="SettingsBackend">
<doc xml:space="preserve">Class structure for #GSettingsBackend.</doc>
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="read">
<callback name="read">
-
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</field>
<field name="get_writable">
<callback name="get_writable">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="write">
<callback name="write">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="write_tree">
<callback name="write_tree">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="reset">
<callback name="reset">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="subscribe">
<callback name="subscribe">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="unsubscribe">
<callback name="unsubscribe">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="sync">
<callback name="sync">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get_permission" introspectable="0">
<callback name="get_permission" introspectable="0">
-
<return-value>
<type name="Permission" c:type="GPermission*"/>
</return-value>
</field>
<field name="read_user_value">
<callback name="read_user_value">
-
<return-value transfer-ownership="full">
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</array>
</field>
</record>
- <record name="SettingsBackendPrivate" c:type="GSettingsBackendPrivate" disguised="1">
-
- </record>
+ <record name="SettingsBackendPrivate" c:type="GSettingsBackendPrivate" disguised="1"/>
<bitfield name="SettingsBindFlags" glib:type-name="GSettingsBindFlags" glib:get-type="g_settings_bind_flags_get_type" c:type="GSettingsBindFlags">
<doc xml:space="preserve">Flags used when creating a binding. These flags determine in which
direction the binding works. The default is to synchronize in both
<doc xml:space="preserve">The type for the function that is used to convert from #GSettings to
an object property. The @value is already initialized to hold values
of the appropriate type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the conversion succeeded, %FALSE in case of an error</doc>
<type name="gboolean" c:type="gboolean"/>
<callback name="SettingsBindSetMapping" c:type="GSettingsBindSetMapping">
<doc xml:space="preserve">The type for the function that is used to convert an object property
value to a #GVariant for storing it in #GSettings.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GVariant holding the data from @value,
or %NULL in case of an error</doc>
</parameters>
</callback>
<record name="SettingsClass" c:type="GSettingsClass" glib:is-gtype-struct-for="Settings">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="writable_changed">
<callback name="writable_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="changed">
<callback name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="writable_change_event">
<callback name="writable_change_event">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="change_event">
<callback name="change_event">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
If @value is %NULL then it means that the mapping function is being
given a "last chance" to successfully return a valid value. %TRUE
must be returned in this case.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the conversion succeeded, %FALSE in case of an error</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
- <record name="SettingsPrivate" c:type="GSettingsPrivate" disguised="1">
-
- </record>
+ <record name="SettingsPrivate" c:type="GSettingsPrivate" disguised="1"/>
<record name="SettingsSchema" c:type="GSettingsSchema" version="2.32" glib:type-name="GSettingsSchema" glib:get-type="g_settings_schema_get_type" c:symbol-prefix="settings_schema">
<doc xml:space="preserve">The #GSettingsSchemaSource and #GSettingsSchema APIs provide a
mechanism for advanced control over the loading of schemas and a
files (ie: .gschema.xml files) instead of a gschemas.compiled file.
In that case, the plugin loading system must compile the schemas for
itself before attempting to create the settings source.</doc>
-
<method name="get_id" c:identifier="g_settings_schema_get_id">
<doc xml:space="preserve">Get the ID of @schema.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID</doc>
<type name="utf8" c:type="const gchar*"/>
It is a programmer error to request a key that does not exist. See
g_settings_schema_list_keys().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GSettingsSchemaKey for @name</doc>
<type name="SettingsSchemaKey" c:type="GSettingsSchemaKey*"/>
Relocatable schemas can be referenced by other schemas and can
therefore describe multiple sets of keys at different locations. For
relocatable schemas, this function will return %NULL.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the path of the schema, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="has_key" c:identifier="g_settings_schema_has_key" version="2.40">
<doc xml:space="preserve">Checks if @schema has a key named @name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if such a key exists</doc>
<type name="gboolean" c:type="gboolean"/>
You should free the return value with g_strfreev() when you are done
with it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a list of the children on
@settings, in no defined order</doc>
You should probably not be calling this function from "normal" code
(since you should already know what keys are in your schema). This
function is intended for introspection reasons.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a list of the keys on
@schema, in no defined order</doc>
</method>
<method name="ref" c:identifier="g_settings_schema_ref" version="2.32">
<doc xml:space="preserve">Increase the reference count of @schema, returning a new reference.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to @schema</doc>
<type name="SettingsSchema" c:type="GSettingsSchema*"/>
</method>
<method name="unref" c:identifier="g_settings_schema_unref" version="2.32">
<doc xml:space="preserve">Decrease the reference count of @schema, possibly freeing it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<record name="SettingsSchemaKey" c:type="GSettingsSchemaKey" glib:type-name="GSettingsSchemaKey" glib:get-type="g_settings_schema_key_get_type" c:symbol-prefix="settings_schema_key">
<doc xml:space="preserve">#GSettingsSchemaKey is an opaque data structure and can only be accessed
using the following functions.</doc>
-
<method name="get_default_value" c:identifier="g_settings_schema_key_get_default_value" version="2.40">
<doc xml:space="preserve">Gets the default value for @key.
Note that this is the default value according to the schema. System
administrator defaults and lockdown are not visible via this API.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the default value for the key</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
the schemas is not stored in the compiled schema database so this
function has to parse all of the source XML files in the schema
directory.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the description for @key, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_name" c:identifier="g_settings_schema_key_get_name" version="2.44">
<doc xml:space="preserve">Gets the name of @key.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the name of @key.</doc>
<type name="utf8" c:type="const gchar*"/>
You should free the returned value with g_variant_unref() when it is
no longer needed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GVariant describing the range</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
the schemas is not stored in the compiled schema database so this
function has to parse all of the source XML files in the schema
directory.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the summary for @key, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</method>
<method name="get_value_type" c:identifier="g_settings_schema_key_get_value_type" version="2.40">
<doc xml:space="preserve">Gets the #GVariantType of @key.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the type of @key</doc>
<type name="GLib.VariantType" c:type="const GVariantType*"/>
It is a programmer error if @value is not of the correct type -- you
must check for this first.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @value is valid for @key</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="ref" c:identifier="g_settings_schema_key_ref" version="2.40">
<doc xml:space="preserve">Increase the reference count of @key, returning a new reference.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to @key</doc>
<type name="SettingsSchemaKey" c:type="GSettingsSchemaKey*"/>
</method>
<method name="unref" c:identifier="g_settings_schema_key_unref" version="2.40">
<doc xml:space="preserve">Decrease the reference count of @key, possibly freeing it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</record>
<record name="SettingsSchemaSource" c:type="GSettingsSchemaSource" version="2.32" glib:type-name="GSettingsSchemaSource" glib:get-type="g_settings_schema_source_get_type" c:symbol-prefix="settings_schema_source">
<doc xml:space="preserve">This is an opaque structure type. You may not access it directly.</doc>
-
<constructor name="new_from_directory" c:identifier="g_settings_schema_source_new_from_directory" version="2.32" throws="1">
<doc xml:space="preserve">Attempts to create a new schema source corresponding to the contents
of the given directory.
For this second reason, except in very unusual situations, the
@parent should probably be given as the default schema source, as
returned by g_settings_schema_source_get_default().</doc>
-
<return-value transfer-ownership="full">
<type name="SettingsSchemaSource" c:type="GSettingsSchemaSource*"/>
</return-value>
Do not call this function from normal programs. This is designed for
use by database editors, commandline tools, etc.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
then the parent sources will also be checked.
If the schema isn't found, %NULL is returned.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a new #GSettingsSchema</doc>
<type name="SettingsSchema" c:type="GSettingsSchema*"/>
</method>
<method name="ref" c:identifier="g_settings_schema_source_ref" version="2.32">
<doc xml:space="preserve">Increase the reference count of @source, returning a new reference.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to @source</doc>
<type name="SettingsSchemaSource" c:type="GSettingsSchemaSource*"/>
</method>
<method name="unref" c:identifier="g_settings_schema_source_unref" version="2.32">
<doc xml:space="preserve">Decrease the reference count of @source, possibly freeing it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
lookups performed against the default source should probably be done
recursively.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the default schema source</doc>
<type name="SettingsSchemaSource" c:type="GSettingsSchemaSource*"/>
The created action is stateless. See g_simple_action_new_stateful() to create
an action that has state.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSimpleAction</doc>
<type name="SimpleAction" c:type="GSimpleAction*"/>
@state.
If the @state #GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSimpleAction</doc>
<type name="SimpleAction" c:type="GSimpleAction*"/>
This should only be called by the implementor of the action. Users
of the action should not attempt to modify its enabled flag.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
request the change.
If the @value GVariant is floating, it is consumed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See g_action_get_state_hint() for more information about
action state hints.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<class name="SimpleActionGroup" c:symbol-prefix="simple_action_group" c:type="GSimpleActionGroup" version="2.28" parent="GObject.Object" glib:type-name="GSimpleActionGroup" glib:get-type="g_simple_action_group_get_type" glib:type-struct="SimpleActionGroupClass">
<doc xml:space="preserve">#GSimpleActionGroup is a hash table filled with #GAction objects,
implementing the #GActionGroup and #GActionMap interfaces.</doc>
-
<implements name="ActionGroup"/>
<implements name="ActionMap"/>
<constructor name="new" c:identifier="g_simple_action_group_new" version="2.28">
<doc xml:space="preserve">Creates a new, empty, #GSimpleActionGroup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSimpleActionGroup</doc>
<type name="SimpleActionGroup" c:type="GSimpleActionGroup*"/>
<doc xml:space="preserve">A convenience function for creating multiple #GSimpleAction instances
and adding them to the action group.</doc>
<doc-deprecated xml:space="preserve">Use g_action_map_add_action_entries()</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The action group takes its own reference on @action.</doc>
<doc-deprecated xml:space="preserve">Use g_action_map_add_action()</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If no such action exists, returns %NULL.</doc>
<doc-deprecated xml:space="preserve">Use g_action_map_lookup_action()</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GAction, or %NULL</doc>
<type name="Action" c:type="GAction*"/>
If no action of this name is in the group then nothing happens.</doc>
<doc-deprecated xml:space="preserve">Use g_action_map_remove_action()</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="SimpleActionGroupClass" c:type="GSimpleActionGroupClass" glib:is-gtype-struct-for="SimpleActionGroup">
-
<field name="parent_class" readable="0" private="1">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</array>
</field>
</record>
- <record name="SimpleActionGroupPrivate" c:type="GSimpleActionGroupPrivate" disguised="1">
-
- </record>
+ <record name="SimpleActionGroupPrivate" c:type="GSimpleActionGroupPrivate" disguised="1"/>
<class name="SimpleAsyncResult" c:symbol-prefix="simple_async_result" c:type="GSimpleAsyncResult" parent="GObject.Object" glib:type-name="GSimpleAsyncResult" glib:get-type="g_simple_async_result_get_type" glib:type-struct="SimpleAsyncResultClass">
<doc xml:space="preserve">As of GLib 2.46, #GSimpleAsyncResult is deprecated in favor of
#GTask, which provides a simpler API.
return g_object_ref (cake);
}
]|</doc>
-
<implements name="AsyncResult"/>
<constructor name="new" c:identifier="g_simple_async_result_new" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Creates a #GSimpleAsyncResult.
g_simple_async_result_set_check_cancellable() immediately after
this function returns.</doc>
<doc-deprecated xml:space="preserve">Use g_task_new() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSimpleAsyncResult.</doc>
<type name="SimpleAsyncResult" c:type="GSimpleAsyncResult*"/>
<constructor name="new_error" c:identifier="g_simple_async_result_new_error" introspectable="0" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Creates a new #GSimpleAsyncResult with a set error.</doc>
<doc-deprecated xml:space="preserve">Use g_task_new() and g_task_return_new_error() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSimpleAsyncResult.</doc>
<type name="SimpleAsyncResult" c:type="GSimpleAsyncResult*"/>
<constructor name="new_from_error" c:identifier="g_simple_async_result_new_from_error" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Creates a #GSimpleAsyncResult from an error condition.</doc>
<doc-deprecated xml:space="preserve">Use g_task_new() and g_task_return_error() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSimpleAsyncResult.</doc>
<type name="SimpleAsyncResult" c:type="GSimpleAsyncResult*"/>
<doc xml:space="preserve">Creates a #GSimpleAsyncResult from an error condition, and takes over the
caller's ownership of @error, so the caller does not need to free it anymore.</doc>
<doc-deprecated xml:space="preserve">Use g_task_new() and g_task_return_error() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSimpleAsyncResult</doc>
<type name="SimpleAsyncResult" c:type="GSimpleAsyncResult*"/>
@source_tag or @result's source tag is %NULL, then the source tag
check is skipped.)</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_is_valid() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">#TRUE if all checks passed or #FALSE if any failed.</doc>
<type name="gboolean" c:type="gboolean"/>
Calling this function takes a reference to @simple for as long as
is needed to complete the call.</doc>
<doc-deprecated xml:space="preserve">Use #GTask instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Calling this function takes a reference to @simple for as long as
is needed to complete the call.</doc>
<doc-deprecated xml:space="preserve">Use #GTask instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="get_op_res_gboolean" c:identifier="g_simple_async_result_get_op_res_gboolean" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Gets the operation result boolean from within the asynchronous result.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_propagate_boolean() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation's result was %TRUE, %FALSE
if the operation's result was %FALSE.</doc>
<method name="get_op_res_gpointer" c:identifier="g_simple_async_result_get_op_res_gpointer" introspectable="0" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Gets a pointer result as returned by the asynchronous function.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_propagate_pointer() instead.</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a pointer from the result.</doc>
<type name="gpointer" c:type="gpointer"/>
<method name="get_op_res_gssize" c:identifier="g_simple_async_result_get_op_res_gssize" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Gets a gssize from the asynchronous result.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_propagate_int() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a gssize returned from the asynchronous function.</doc>
<type name="gssize" c:type="gssize"/>
<method name="get_source_tag" c:identifier="g_simple_async_result_get_source_tag" introspectable="0" deprecated="1" deprecated-version="2.46.">
<doc xml:space="preserve">Gets the source tag for the #GSimpleAsyncResult.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_get_source_tag() instead.</doc-deprecated>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #gpointer to the source object for the #GSimpleAsyncResult.</doc>
<type name="gpointer" c:type="gpointer"/>
g_simple_async_result_set_check_cancellable() is cancelled then this
function will return %TRUE with @dest set appropriately.</doc>
<doc-deprecated xml:space="preserve">Use #GTask instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the error was propagated to @dest. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
Calling this function takes a reference to @simple for as long as
is needed to run the job and report its completion.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_run_in_thread() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The checking described above is done regardless of any call to the
unrelated g_simple_async_result_set_handle_cancellation() function.</doc>
<doc-deprecated xml:space="preserve">Use #GTask instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_error" c:identifier="g_simple_async_result_set_error" introspectable="0" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Sets an error within the asynchronous result without a #GError.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_return_new_error() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets an error within the asynchronous result without a #GError.
Unless writing a binding, see g_simple_async_result_set_error().</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_return_error() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_from_error" c:identifier="g_simple_async_result_set_from_error" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Sets the result from a #GError.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_return_error() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function has nothing to do with
g_simple_async_result_set_check_cancellable(). It only refers to the
#GCancellable passed to g_simple_async_result_run_in_thread().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_op_res_gboolean" c:identifier="g_simple_async_result_set_op_res_gboolean" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Sets the operation result to a boolean within the asynchronous result.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_return_boolean() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_op_res_gpointer" c:identifier="g_simple_async_result_set_op_res_gpointer" introspectable="0" deprecated="1" deprecated-version="2.46">
<doc xml:space="preserve">Sets the operation result within the asynchronous result to a pointer.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_return_pointer() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the operation result within the asynchronous result to
the given @op_res.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_return_int() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the result from @error, and takes over the caller's ownership
of @error, so the caller does not need to free it any more.</doc>
<doc-deprecated xml:space="preserve">Use #GTask and g_task_return_error() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</method>
</class>
- <record name="SimpleAsyncResultClass" c:type="GSimpleAsyncResultClass" disguised="1" glib:is-gtype-struct-for="SimpleAsyncResult">
-
- </record>
+ <record name="SimpleAsyncResultClass" c:type="GSimpleAsyncResultClass" disguised="1" glib:is-gtype-struct-for="SimpleAsyncResult"/>
<callback name="SimpleAsyncThreadFunc" c:type="GSimpleAsyncThreadFunc">
<doc xml:space="preserve">Simple thread function that runs an asynchronous operation and
checks for cancellation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<constructor name="new" c:identifier="g_simple_io_stream_new" version="2.44">
<doc xml:space="preserve">Creates a new #GSimpleIOStream wrapping @input_stream and @output_stream.
See also #GIOStream.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSimpleIOStream instance.</doc>
<type name="IOStream" c:type="GIOStream*"/>
<constructor name="new" c:identifier="g_simple_permission_new" version="2.26">
<doc xml:space="preserve">Creates a new #GPermission instance that represents an action that is
either always or never allowed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GSimplePermission, as a #GPermission</doc>
<type name="Permission" c:type="GPermission*"/>
can be used as the base class for another proxy resolver
implementation, or it can be created and used manually, such as
with g_socket_client_set_proxy_resolver().</doc>
-
<implements name="ProxyResolver"/>
<function name="new" c:identifier="g_simple_proxy_resolver_new" version="2.36">
<doc xml:space="preserve">Creates a new #GSimpleProxyResolver. See
#GSimpleProxyResolver:default-proxy and
#GSimpleProxyResolver:ignore-hosts for more details on how the
arguments are interpreted.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSimpleProxyResolver</doc>
<type name="ProxyResolver" c:type="GProxyResolver*"/>
If @default_proxy starts with "socks://",
#GSimpleProxyResolver will treat it as referring to all three of
the socks5, socks4a, and socks4 proxy types.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
See #GSimpleProxyResolver:ignore-hosts for more details on how the
@ignore_hosts argument is interpreted.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
"socks://", #GSimpleProxyResolver will treat it
as referring to all three of the socks5, socks4a, and socks4 proxy
types.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="SimpleProxyResolverClass" c:type="GSimpleProxyResolverClass" glib:is-gtype-struct-for="SimpleProxyResolver">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="SimpleProxyResolverPrivate" c:type="GSimpleProxyResolverPrivate" disguised="1">
-
- </record>
+ <record name="SimpleProxyResolverPrivate" c:type="GSimpleProxyResolverPrivate" disguised="1"/>
<class name="Socket" c:symbol-prefix="socket" c:type="GSocket" version="2.22" parent="GObject.Object" glib:type-name="GSocket" glib:get-type="g_socket_get_type" glib:type-struct="SocketClass">
<doc xml:space="preserve">A #GSocket is a low-level networking primitive. It is a more or less
direct mapping of the BSD socket API in a portable GObject based API.
Like most other APIs in GLib, #GSocket is not inherently thread safe. To use
a #GSocket concurrently from multiple threads, you must implement your own
locking.</doc>
-
<implements name="DatagramBased"/>
<implements name="Initable"/>
<constructor name="new" c:identifier="g_socket_new" version="2.22" throws="1">
The protocol id is passed directly to the operating
system, so you can use protocols not listed in #GSocketProtocol if you
know the protocol number used for it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocket or %NULL on error.
Free the returned object with g_object_unref().</doc>
Since GLib 2.46, it is no longer a fatal error to call this on a non-socket
descriptor. Instead, a GError will be set with code %G_IO_ERROR_FAILED</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocket or %NULL on error.
Free the returned object with g_object_unref().</doc>
If there are no outstanding connections then the operation will block
or return %G_IO_ERROR_WOULD_BLOCK if non-blocking I/O is enabled.
To be notified of an incoming connection, wait for the %G_IO_IN condition.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocket, or %NULL on error.
Free the returned object with g_object_unref().</doc>
same address, and they will all receive all of the multicast and
broadcast packets sent to that address. (The behavior of unicast
UDP packets to an address with multiple listeners is not defined.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Checks and resets the pending connect error for the socket.
This is used to check for errors when g_socket_connect() is
used in non-blocking mode.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if no error, %FALSE otherwise, setting @error to the error</doc>
<type name="gboolean" c:type="gboolean"/>
g_tcp_connection_set_graceful_disconnect(). But of course, this
only works if the client will close its connection after the server
does.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
these conditions will always be set in the output if they are true.
This call never blocks.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the @GIOCondition mask of the current state</doc>
<type name="GLib.IOCondition" c:type="GIOCondition"/>
other GLib APIs, this function actually only has millisecond
resolution, and the behavior is undefined if @timeout_us is not an
exact number of milliseconds.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the condition was met, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
%G_IO_ERROR_TIMED_OUT).
See also g_socket_condition_timed_wait().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the condition was met, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
and the user can be notified of the connection finishing by waiting
for the G_IO_OUT condition. The result of the connection must then be
checked with g_socket_check_connect_result().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if connected, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="connection_factory_create_connection" c:identifier="g_socket_connection_factory_create_connection" version="2.22">
<doc xml:space="preserve">Creates a #GSocketConnection subclass of the right type for
@socket.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
%G_IO_OUT depending on @condition. However, @socket will have been
marked as having had a timeout, and so the next #GSocket I/O method
you call will then fail with a %G_IO_ERROR_TIMED_OUT.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated %GSource, free with g_source_unref().</doc>
<type name="GLib.Source" c:type="GSource*"/>
g_socket_receive() with a buffer of that size, rather than calling
g_socket_get_available_bytes() first and then doing a receive of
exactly the right size.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes that can be read from the socket
without blocking or truncating, or -1 on error.</doc>
<method name="get_blocking" c:identifier="g_socket_get_blocking" version="2.22">
<doc xml:space="preserve">Gets the blocking mode of the socket. For details on blocking I/O,
see g_socket_set_blocking().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if blocking I/O is used, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the broadcast setting on @socket; if %TRUE,
it is possible to send packets to broadcast
addresses.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the broadcast setting on @socket</doc>
<type name="gboolean" c:type="gboolean"/>
#GUnixCredentialsMessage type and
g_unix_connection_send_credentials() /
g_unix_connection_receive_credentials() functions.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">%NULL if @error is set, otherwise a #GCredentials object
that must be freed with g_object_unref().</doc>
</method>
<method name="get_family" c:identifier="g_socket_get_family" version="2.22">
<doc xml:space="preserve">Gets the socket family of the socket.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSocketFamily</doc>
<type name="SocketFamily" c:type="GSocketFamily"/>
a Winsock2 SOCKET handle. This may be useful for
doing platform specific or otherwise unusual operations
on the socket.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the file descriptor of the socket.</doc>
<type name="gint" c:type="int"/>
<method name="get_keepalive" c:identifier="g_socket_get_keepalive" version="2.22">
<doc xml:space="preserve">Gets the keepalive mode of the socket. For details on this,
see g_socket_set_keepalive().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if keepalive is active, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_listen_backlog" c:identifier="g_socket_get_listen_backlog" version="2.22">
<doc xml:space="preserve">Gets the listen backlog setting of the socket. For details on this,
see g_socket_set_listen_backlog().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the maximum number of pending connections.</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">Try to get the local address of a bound socket. This is only
useful if the socket has been bound to a local address,
either explicitly or implicitly when connecting.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress or %NULL on error.
Free the returned object with g_object_unref().</doc>
<doc xml:space="preserve">Gets the multicast loopback setting on @socket; if %TRUE (the
default), outgoing multicast packets will be looped back to
multicast listeners on the same host.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the multicast loopback setting on @socket</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_multicast_ttl" c:identifier="g_socket_get_multicast_ttl" version="2.32">
<doc xml:space="preserve">Gets the multicast time-to-live setting on @socket; see
g_socket_set_multicast_ttl() for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the multicast time-to-live setting on @socket</doc>
<type name="guint" c:type="guint"/>
Note that even for socket options that are a single byte in size,
@value is still a pointer to a #gint variable, not a #guchar;
g_socket_get_option() will handle the conversion internally.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure. On failure, @error will be set, and
the system error value (`errno` or WSAGetLastError()) will still
<method name="get_protocol" c:identifier="g_socket_get_protocol" version="2.22">
<doc xml:space="preserve">Gets the socket protocol id the socket was created with.
In case the protocol is unknown, -1 is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a protocol id, or -1 if unknown</doc>
<type name="SocketProtocol" c:type="GSocketProtocol"/>
<method name="get_remote_address" c:identifier="g_socket_get_remote_address" version="2.22" throws="1">
<doc xml:space="preserve">Try to get the remote address of a connected socket. This is only
useful for connection oriented sockets that have been connected.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress or %NULL on error.
Free the returned object with g_object_unref().</doc>
</method>
<method name="get_socket_type" c:identifier="g_socket_get_socket_type" version="2.22">
<doc xml:space="preserve">Gets the socket type of the socket.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSocketType</doc>
<type name="SocketType" c:type="GSocketType"/>
<method name="get_timeout" c:identifier="g_socket_get_timeout" version="2.26">
<doc xml:space="preserve">Gets the timeout setting of the socket. For details on this, see
g_socket_set_timeout().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the timeout in seconds</doc>
<type name="guint" c:type="guint"/>
<method name="get_ttl" c:identifier="g_socket_get_ttl" version="2.32">
<doc xml:space="preserve">Gets the unicast time-to-live setting on @socket; see
g_socket_set_ttl() for more details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the time-to-live setting on @socket</doc>
<type name="guint" c:type="guint"/>
</method>
<method name="is_closed" c:identifier="g_socket_is_closed" version="2.22">
<doc xml:space="preserve">Checks whether a socket is closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if socket is closed, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
socket has been shut down for reading and writing. If you do a non-blocking
connect, this function will not return %TRUE until after you call
g_socket_check_connect_result().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if socket is connected, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
To bind to a given source-specific multicast address, use
g_socket_join_multicast_group_ssm() instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
Note that this function can be called multiple times for the same
@group with different @source_specific in order to receive multicast
packets from more than one source.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
To unbind to a given source-specific multicast address, use
g_socket_leave_multicast_group_ssm() instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
@socket remains bound to its address and port, and can still receive
unicast messages after calling this.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
To set the maximum amount of outstanding clients, use
g_socket_set_listen_backlog().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
%G_IO_IN condition.
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes read, or 0 if the connection was closed by
the peer, or -1 on error</doc>
@address is owned by the caller.
See g_socket_receive() for additional information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes read, or 0 if the connection was closed by
the peer, or -1 on error</doc>
%G_IO_IN condition.
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes read, or 0 if the connection was closed by
the peer, or -1 on error</doc>
On error -1 is returned and @error is set accordingly. An error will only
be returned if zero messages could be received; otherwise the number of
messages successfully received before the error will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages received, or -1 on error. Note that the number
of messages received may be smaller than @num_messages if in non-blocking
<doc xml:space="preserve">This behaves exactly the same as g_socket_receive(), except that
the choice of blocking or non-blocking behavior is determined by
the @blocking argument rather than by @socket's properties.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes read, or 0 if the connection was closed by
the peer, or -1 on error</doc>
very common due to the way the underlying APIs work.)
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written (which may be less than @size), or -1
on error</doc>
notified of a %G_IO_OUT condition. (On Windows in particular, this is
very common due to the way the underlying APIs work.)
+The sum of the sizes of each #GOutputVector in vectors must not be
+greater than %G_MAXSSIZE. If the message can be larger than this,
+then it is mandatory to use the g_socket_send_message_with_timeout()
+function.
+
On error -1 is returned and @error is set accordingly.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written (which may be less than @size), or -1
on error</doc>
On error %G_POLLABLE_RETURN_FAILED is returned and @error is set accordingly, or
if the socket is currently not writable %G_POLLABLE_RETURN_WOULD_BLOCK is
returned. @bytes_written will contain 0 in both cases.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_POLLABLE_RETURN_OK if all data was successfully written,
%G_POLLABLE_RETURN_WOULD_BLOCK if the socket is currently not writable, or
On error -1 is returned and @error is set accordingly. An error will only
be returned if zero messages could be sent; otherwise the number of messages
successfully sent before the error will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">number of messages sent, or -1 on error. Note that the number of
messages sent may be smaller than @num_messages if the socket is
g_socket_connect()).
See g_socket_send() for additional information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written (which may be less than @size), or -1
on error</doc>
<doc xml:space="preserve">This behaves exactly the same as g_socket_send(), except that
the choice of blocking or non-blocking behavior is determined by
the @blocking argument rather than by @socket's properties.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">Number of bytes written (which may be less than @size), or -1
on error</doc>
All sockets are created in blocking mode. However, note that the
platform level socket is always non-blocking, and blocking mode
is a GSocket level feature.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_broadcast" c:identifier="g_socket_set_broadcast" version="2.32">
<doc xml:space="preserve">Sets whether @socket should allow sending to broadcast addresses.
This is %FALSE by default.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
on a server socket if you want to allow clients to remain idle for long
periods of time, but also want to ensure that connections are eventually
garbage-collected if clients crash or become unreachable.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that this must be called before g_socket_listen() and has no
effect if called after that.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets whether outgoing multicast packets will be received by sockets
listening on that multicast address on the same host. This is %TRUE
by default.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets the time-to-live for outgoing multicast datagrams on @socket.
By default, this is 1, meaning that multicast packets will not leave
the local network.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
standard/portable socket options. For unusual socket protocols or
platform-dependent options, you may need to include additional
headers.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure. On failure, @error will be set, and
the system error value (`errno` or WSAGetLastError()) will still
Note that if an I/O operation is interrupted by a signal, this may
cause the timeout to be reset.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_ttl" c:identifier="g_socket_set_ttl" version="2.32">
<doc xml:space="preserve">Sets the time-to-live for outgoing unicast packets on @socket.
By default the platform-specific default value is used.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
graceful disconnect for TCP connections where you close the sending side,
then wait for the other side to close the connection, thus ensuring that the
other side saw all sent data.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
No other types of sockets are currently considered as being capable
of speaking IPv4.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if this socket can be used with IPv4.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">#GSocketAddress is the equivalent of struct sockaddr in the BSD
sockets API. This is an abstract class; use #GInetSocketAddress
for internet sockets, or #GUnixSocketAddress for UNIX domain sockets.</doc>
-
<implements name="SocketConnectable"/>
<constructor name="new_from_native" c:identifier="g_socket_address_new_from_native" version="2.22">
<doc xml:space="preserve">Creates a #GSocketAddress subclass corresponding to the native
struct sockaddr @native.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketAddress if @native could successfully
be converted, otherwise %NULL</doc>
</constructor>
<virtual-method name="get_family" invoker="get_family" version="2.22">
<doc xml:space="preserve">Gets the socket family type of @address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the socket family type of @address</doc>
<type name="SocketFamily" c:type="GSocketFamily"/>
<doc xml:space="preserve">Gets the size of @address's native struct sockaddr.
You can use this to allocate memory to pass to
g_socket_address_to_native().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the native struct sockaddr that
@address represents</doc>
If not enough space is available, a %G_IO_ERROR_NO_SPACE error
is returned. If the address type is not known on the system
then a %G_IO_ERROR_NOT_SUPPORTED error is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @dest was filled in, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<method name="get_family" c:identifier="g_socket_address_get_family" version="2.22">
<doc xml:space="preserve">Gets the socket family type of @address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the socket family type of @address</doc>
<type name="SocketFamily" c:type="GSocketFamily"/>
<doc xml:space="preserve">Gets the size of @address's native struct sockaddr.
You can use this to allocate memory to pass to
g_socket_address_to_native().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the native struct sockaddr that
@address represents</doc>
If not enough space is available, a %G_IO_ERROR_NO_SPACE error
is returned. If the address type is not known on the system
then a %G_IO_ERROR_NOT_SUPPORTED error is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @dest was filled in, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="SocketAddressClass" c:type="GSocketAddressClass" glib:is-gtype-struct-for="SocketAddress">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_family">
<callback name="get_family">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the socket family type of @address</doc>
<type name="SocketFamily" c:type="GSocketFamily"/>
</field>
<field name="get_native_size">
<callback name="get_native_size">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the size of the native struct sockaddr that
@address represents</doc>
</field>
<field name="to_native">
<callback name="to_native" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @dest was filled in, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
g_socket_address_enumerator_next() has returned %NULL, further
enumeration with that #GSocketAddressEnumerator is not possible, and it can
be unreffed.</doc>
-
<virtual-method name="next" invoker="next" throws="1">
<doc xml:space="preserve">Retrieves the next #GSocketAddress from @enumerator. Note that this
may block for some amount of time. (Eg, a #GNetworkAddress may need
g_socket_address_enumerator_next() succeeds, then any further
internal errors (other than @cancellable being triggered) will be
ignored.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress (owned by the caller), or %NULL on
error (in which case *@error will be set) or if there are no
g_socket_address_enumerator_next_finish() to get the result.
It is an error to call this multiple times before the previous callback has finished.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_socket_address_enumerator_next_async(). See
g_socket_address_enumerator_next() for more information about
error handling.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress (owned by the caller), or %NULL on
error (in which case *@error will be set) or if there are no
g_socket_address_enumerator_next() succeeds, then any further
internal errors (other than @cancellable being triggered) will be
ignored.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress (owned by the caller), or %NULL on
error (in which case *@error will be set) or if there are no
g_socket_address_enumerator_next_finish() to get the result.
It is an error to call this multiple times before the previous callback has finished.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_socket_address_enumerator_next_async(). See
g_socket_address_enumerator_next() for more information about
error handling.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress (owned by the caller), or %NULL on
error (in which case *@error will be set) or if there are no
</class>
<record name="SocketAddressEnumeratorClass" c:type="GSocketAddressEnumeratorClass" glib:is-gtype-struct-for="SocketAddressEnumerator">
<doc xml:space="preserve">Class structure for #GSocketAddressEnumerator.</doc>
-
<field name="parent_class" readable="0" private="1">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="next">
<callback name="next" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress (owned by the caller), or %NULL on
error (in which case *@error will be set) or if there are no
</field>
<field name="next_async">
<callback name="next_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="next_finish">
<callback name="next_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress (owned by the caller), or %NULL on
error (in which case *@error will be set) or if there are no
</field>
</record>
<record name="SocketClass" c:type="GSocketClass" glib:is-gtype-struct-for="Socket">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved7" introspectable="0">
<callback name="_g_reserved7">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved8" introspectable="0">
<callback name="_g_reserved8">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved9" introspectable="0">
<callback name="_g_reserved9">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved10" introspectable="0">
<callback name="_g_reserved10">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
As #GSocketClient is a lightweight object, you don't need to cache it. You
can just create a new one any time you need one.</doc>
-
<constructor name="new" c:identifier="g_socket_client_new" version="2.22">
<doc xml:space="preserve">Creates a new #GSocketClient with the default options.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketClient.
Free the returned object with g_object_unref().</doc>
</return-value>
</constructor>
<virtual-method name="event">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
When the proxy is detected as being an application proxy, TLS handshake
will be skipped. This is required to let the application do the proxy
specific handshake.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If a local address is specified with g_socket_client_set_local_address() the
socket will be bound to this address before connecting.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
<method name="connect_async" c:identifier="g_socket_client_connect_async" version="2.22">
<doc xml:space="preserve">This is the asynchronous version of g_socket_client_connect().
+You may wish to prefer the asynchronous version even in synchronous
+command line programs because, since 2.60, it implements
+[RFC 8305](https://tools.ietf.org/html/rfc8305) "Happy Eyeballs"
+recommendations to work around long connection timeouts in networks
+where IPv6 is broken by performing an IPv4 connection simultaneously
+without waiting for IPv6 to time out, which is not supported by the
+synchronous call. (This is not an API guarantee, and may change in
+the future.)
+
When the operation is finished @callback will be
called. You can then call g_socket_client_connect_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="connect_finish" c:identifier="g_socket_client_connect_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an async connect operation. See g_socket_client_connect_async()</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
In the event of any failure (DNS error, service not found, no hosts
connectable) %NULL is returned and @error (if non-%NULL) is set
accordingly.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
When the operation is finished @callback will be
called. You can then call g_socket_client_connect_to_host_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="connect_to_host_finish" c:identifier="g_socket_client_connect_to_host_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an async connect operation. See g_socket_client_connect_to_host_async()</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
In the event of any failure (DNS error, service not found, no hosts
connectable) %NULL is returned and @error (if non-%NULL) is set
accordingly.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection if successful, or %NULL on error</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
<method name="connect_to_service_async" c:identifier="g_socket_client_connect_to_service_async" version="2.22">
<doc xml:space="preserve">This is the asynchronous version of
g_socket_client_connect_to_service().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="connect_to_service_finish" c:identifier="g_socket_client_connect_to_service_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an async connect operation. See g_socket_client_connect_to_service_async()</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
In the event of any failure (DNS error, service not found, no hosts
connectable) %NULL is returned and @error (if non-%NULL) is set
accordingly.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
When the operation is finished @callback will be
called. You can then call g_socket_client_connect_to_uri_finish() to get
the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="connect_to_uri_finish" c:identifier="g_socket_client_connect_to_uri_finish" version="2.26" throws="1">
<doc xml:space="preserve">Finishes an async connect operation. See g_socket_client_connect_to_uri_async()</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
</method>
<method name="get_enable_proxy" c:identifier="g_socket_client_get_enable_proxy" version="2.26">
<doc xml:space="preserve">Gets the proxy enable state; see g_socket_client_set_enable_proxy()</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether proxying is enabled</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the socket family of the socket client.
See g_socket_client_set_family() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSocketFamily</doc>
<type name="SocketFamily" c:type="GSocketFamily"/>
<doc xml:space="preserve">Gets the local address of the socket client.
See g_socket_client_set_local_address() for details.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GSocketAddress or %NULL. Do not free.</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
</return-value>
<doc xml:space="preserve">Gets the protocol name type of the socket client.
See g_socket_client_set_protocol() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSocketProtocol</doc>
<type name="SocketProtocol" c:type="GSocketProtocol"/>
<doc xml:space="preserve">Gets the #GProxyResolver being used by @client. Normally, this will
be the resolver returned by g_proxy_resolver_get_default(), but you
can override it with g_socket_client_set_proxy_resolver().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The #GProxyResolver being used by
@client.</doc>
<doc xml:space="preserve">Gets the socket type of the socket client.
See g_socket_client_set_socket_type() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSocketFamily</doc>
<type name="SocketType" c:type="GSocketType"/>
<doc xml:space="preserve">Gets the I/O timeout time for sockets created by @client.
See g_socket_client_set_timeout() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the timeout in seconds</doc>
<type name="guint" c:type="guint"/>
<method name="get_tls" c:identifier="g_socket_client_get_tls" version="2.28">
<doc xml:space="preserve">Gets whether @client creates TLS connections. See
g_socket_client_set_tls() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @client uses TLS</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_tls_validation_flags" c:identifier="g_socket_client_get_tls_validation_flags" version="2.28">
<doc xml:space="preserve">Gets the TLS validation flags used creating TLS connections via
@client.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the TLS validation flags</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
needed, and automatically do the necessary proxy negotiation.
See also g_socket_client_set_proxy_resolver().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This might be useful for instance if you want to force the local
connection to be an ipv4 socket, even though the address might
be an ipv6 mapped to ipv4 address.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is useful if you want to ensure that the local
side of the connection is on a specific port, or on
a specific interface.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @protocol is %G_SOCKET_PROTOCOL_DEFAULT that means to use the default
protocol for the socket family and type.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that whether or not the proxy resolver is actually used
depends on the setting of #GSocketClient:enable-proxy, which is not
changed by this function (but which is %TRUE by default)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It doesn't make sense to specify a type of %G_SOCKET_TYPE_DATAGRAM,
as GSocketClient is used for connection oriented services.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The timeout value affects the initial connection attempt as well,
so setting this may cause calls to g_socket_client_connect(), etc,
to fail with %G_IO_ERROR_TIMED_OUT.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
emitted with %G_SOCKET_CLIENT_TLS_HANDSHAKING, which will give you
a chance to see the #GTlsClientConnection before the handshake
starts.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="set_tls_validation_flags" c:identifier="g_socket_client_set_tls_validation_flags" version="2.28">
<doc xml:space="preserve">Sets the TLS validation flags used when creating TLS connections
via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
multiple times (or not at all) for a given connectable (in
particular, if @client ends up attempting to connect to more than
one address). However, if @client emits the #GSocketClient::event
-signal at all for a given connectable, that it will always emit
+signal at all for a given connectable, then it will always emit
it with %G_SOCKET_CLIENT_COMPLETE when it is done.
Note that there may be additional #GSocketClientEvent values in
</glib:signal>
</class>
<record name="SocketClientClass" c:type="GSocketClientClass" glib:is-gtype-struct-for="SocketClient">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="event">
<callback name="event">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
#GSocketConnectable.</doc>
</member>
</enumeration>
- <record name="SocketClientPrivate" c:type="GSocketClientPrivate" disguised="1">
-
- </record>
+ <record name="SocketClientPrivate" c:type="GSocketClientPrivate" disguised="1"/>
<interface name="SocketConnectable" c:symbol-prefix="socket_connectable" c:type="GSocketConnectable" glib:type-name="GSocketConnectable" glib:get-type="g_socket_connectable_get_type" glib:type-struct="SocketConnectableIface">
<doc xml:space="preserve">Objects that describe one or more potential socket endpoints
implement #GSocketConnectable. Callers can then use
}
}
]|</doc>
-
<virtual-method name="enumerate" invoker="enumerate" version="2.22">
<doc xml:space="preserve">Creates a #GSocketAddressEnumerator for @connectable.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketAddressEnumerator.</doc>
<type name="SocketAddressEnumerator" c:type="GSocketAddressEnumerator*"/>
If @connectable does not implement
g_socket_connectable_proxy_enumerate(), this will fall back to
calling g_socket_connectable_enumerate().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketAddressEnumerator.</doc>
<type name="SocketAddressEnumerator" c:type="GSocketAddressEnumerator*"/>
If the #GSocketConnectable implementation does not support string formatting,
the implementation’s type name will be returned as a fallback.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the formatted string</doc>
<type name="utf8" c:type="gchar*"/>
</virtual-method>
<method name="enumerate" c:identifier="g_socket_connectable_enumerate" version="2.22">
<doc xml:space="preserve">Creates a #GSocketAddressEnumerator for @connectable.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketAddressEnumerator.</doc>
<type name="SocketAddressEnumerator" c:type="GSocketAddressEnumerator*"/>
If @connectable does not implement
g_socket_connectable_proxy_enumerate(), this will fall back to
calling g_socket_connectable_enumerate().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketAddressEnumerator.</doc>
<type name="SocketAddressEnumerator" c:type="GSocketAddressEnumerator*"/>
If the #GSocketConnectable implementation does not support string formatting,
the implementation’s type name will be returned as a fallback.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the formatted string</doc>
<type name="utf8" c:type="gchar*"/>
<record name="SocketConnectableIface" c:type="GSocketConnectableIface" glib:is-gtype-struct-for="SocketConnectable">
<doc xml:space="preserve">Provides an interface for returning a #GSocketAddressEnumerator
and #GProxyAddressEnumerator</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="enumerate">
<callback name="enumerate">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketAddressEnumerator.</doc>
<type name="SocketAddressEnumerator" c:type="GSocketAddressEnumerator*"/>
</field>
<field name="proxy_enumerate">
<callback name="proxy_enumerate">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketAddressEnumerator.</doc>
<type name="SocketAddressEnumerator" c:type="GSocketAddressEnumerator*"/>
</field>
<field name="to_string">
<callback name="to_string">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the formatted string</doc>
<type name="utf8" c:type="gchar*"/>
To close a #GSocketConnection, use g_io_stream_close(). Closing both
substreams of the #GIOStream separately will not close the underlying
#GSocket.</doc>
-
<function name="factory_lookup_type" c:identifier="g_socket_connection_factory_lookup_type" version="2.22">
<doc xml:space="preserve">Looks up the #GType to be used when creating socket connections on
sockets with the specified @family, @type and @protocol_id.
If no type is registered, the #GSocketConnection base type is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GType</doc>
<type name="GType" c:type="GType"/>
sockets with the specified @family, @type and @protocol.
If no type is registered, the #GSocketConnection base type is returned.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<method name="connect" c:identifier="g_socket_connection_connect" version="2.32" throws="1">
<doc xml:space="preserve">Connect @connection to the specified remote address.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the connection succeeded, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
socket if it is currently set.
Use g_socket_connection_connect_finish() to retrieve the result.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="connect_finish" c:identifier="g_socket_connection_connect_finish" version="2.32" throws="1">
<doc xml:space="preserve">Gets the result of a g_socket_connection_connect_async() call.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the connection succeeded, %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_local_address" c:identifier="g_socket_connection_get_local_address" version="2.22" throws="1">
<doc xml:space="preserve">Try to get the local address of a socket connection.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress or %NULL on error.
Free the returned object with g_object_unref().</doc>
address that will be used for the connection. This allows
applications to print e.g. "Connecting to example.com
(10.42.77.3)...".</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketAddress or %NULL on error.
Free the returned object with g_object_unref().</doc>
<doc xml:space="preserve">Gets the underlying #GSocket object of the connection.
This can be useful if you want to do something unusual on it
not supported by the #GSocketConnection APIs.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GSocket or %NULL on error.</doc>
<type name="Socket" c:type="GSocket*"/>
<method name="is_connected" c:identifier="g_socket_connection_is_connected" version="2.32">
<doc xml:space="preserve">Checks if @connection is connected. This is equivalent to calling
g_socket_is_connected() on @connection's underlying #GSocket.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @connection is connected</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="SocketConnectionClass" c:type="GSocketConnectionClass" glib:is-gtype-struct-for="SocketConnection">
-
<field name="parent_class">
<type name="IOStreamClass" c:type="GIOStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="SocketConnectionPrivate" c:type="GSocketConnectionPrivate" disguised="1">
-
- </record>
+ <record name="SocketConnectionPrivate" c:type="GSocketConnectionPrivate" disguised="1"/>
<class name="SocketControlMessage" c:symbol-prefix="socket_control_message" c:type="GSocketControlMessage" version="2.22" parent="GObject.Object" abstract="1" glib:type-name="GSocketControlMessage" glib:get-type="g_socket_control_message_get_type" glib:type-struct="SocketControlMessageClass">
<doc xml:space="preserve">A #GSocketControlMessage is a special-purpose utility message that
can be sent to or received from a #GSocket. These types of
this class and implement the deserialize method. Also, make sure your
class is registered with the GType typesystem before calling
g_socket_receive_message() to read such a message.</doc>
-
<function name="deserialize" c:identifier="g_socket_control_message_deserialize" version="2.22">
<doc xml:space="preserve">Tries to deserialize a socket control message of a given
@level and @type. This will ask all known (to GType) subclasses
If there is no implementation for this kind of control message, %NULL
will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the deserialized message or %NULL</doc>
<type name="SocketControlMessage" c:type="GSocketControlMessage*"/>
<virtual-method name="get_level" invoker="get_level" version="2.22">
<doc xml:space="preserve">Returns the "level" (i.e. the originating protocol) of the control message.
This is often SOL_SOCKET.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an integer describing the level</doc>
<type name="gint" c:type="int"/>
<virtual-method name="get_size" invoker="get_size" version="2.22">
<doc xml:space="preserve">Returns the space required for the control message, not including
headers or alignment.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The number of bytes required.</doc>
<type name="gsize" c:type="gsize"/>
</parameters>
</virtual-method>
<virtual-method name="get_type">
-
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
@data is guaranteed to have enough space to fit the size
returned by g_socket_control_message_get_size() on this
object.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="get_level" c:identifier="g_socket_control_message_get_level" version="2.22">
<doc xml:space="preserve">Returns the "level" (i.e. the originating protocol) of the control message.
This is often SOL_SOCKET.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an integer describing the level</doc>
<type name="gint" c:type="int"/>
<method name="get_msg_type" c:identifier="g_socket_control_message_get_msg_type" version="2.22">
<doc xml:space="preserve">Returns the protocol specific type of the control message.
For instance, for UNIX fd passing this would be SCM_RIGHTS.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an integer describing the type of control message</doc>
<type name="gint" c:type="int"/>
<method name="get_size" c:identifier="g_socket_control_message_get_size" version="2.22">
<doc xml:space="preserve">Returns the space required for the control message, not including
headers or alignment.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The number of bytes required.</doc>
<type name="gsize" c:type="gsize"/>
@data is guaranteed to have enough space to fit the size
returned by g_socket_control_message_get_size() on this
object.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="SocketControlMessageClass" c:type="GSocketControlMessageClass" glib:is-gtype-struct-for="SocketControlMessage">
<doc xml:space="preserve">Class structure for #GSocketControlMessage.</doc>
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_size">
<callback name="get_size">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The number of bytes required.</doc>
<type name="gsize" c:type="gsize"/>
</field>
<field name="get_level">
<callback name="get_level">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an integer describing the level</doc>
<type name="gint" c:type="int"/>
</field>
<field name="get_type">
<callback name="get_type">
-
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
</field>
<field name="serialize">
<callback name="serialize">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="deserialize" introspectable="0">
<callback name="deserialize" introspectable="0">
-
<return-value>
<type name="SocketControlMessage" c:type="GSocketControlMessage*"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="SocketControlMessagePrivate" c:type="GSocketControlMessagePrivate" disguised="1">
-
- </record>
+ <record name="SocketControlMessagePrivate" c:type="GSocketControlMessagePrivate" disguised="1"/>
<enumeration name="SocketFamily" version="2.22" glib:type-name="GSocketFamily" glib:get-type="g_socket_family_get_type" c:type="GSocketFamily">
<doc xml:space="preserve">The protocol family of a #GSocketAddress. (These values are
identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX,
If you want to implement a network server, also look at #GSocketService
and #GThreadedSocketService which are subclasses of #GSocketListener
that make this even easier.</doc>
-
<constructor name="new" c:identifier="g_socket_listener_new" version="2.22">
<doc xml:space="preserve">Creates a new #GSocketListener with no sockets to listen for.
New listeners can be added with e.g. g_socket_listener_add_address()
or g_socket_listener_add_inet_port().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketListener.</doc>
<type name="SocketListener" c:type="GSocketListener*"/>
</return-value>
</constructor>
<virtual-method name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="event">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
When the operation is finished @callback will be
called. You can then call g_socket_listener_accept_socket()
to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="accept_finish" c:identifier="g_socket_listener_accept_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an async accept operation. See g_socket_listener_accept_async()</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocketConnection on success, %NULL on error.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
If @cancellable is not %NULL, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocket on success, %NULL on error.</doc>
<type name="Socket" c:type="GSocket*"/>
When the operation is finished @callback will be
called. You can then call g_socket_listener_accept_socket_finish()
to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="accept_socket_finish" c:identifier="g_socket_listener_accept_socket_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes an async accept operation. See g_socket_listener_accept_socket_async()</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GSocket on success, %NULL on error.</doc>
<type name="Socket" c:type="GSocket*"/>
Call g_socket_listener_close() to stop listening on @address; this will not
be done automatically when you drop your final reference to @listener, as
references may be held internally.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
to accept to identify this particular source, which is
useful if you're listening on multiple addresses and do
different things depending on what address is connected to.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the port number, or 0 in case of failure.</doc>
<type name="guint16" c:type="guint16"/>
Call g_socket_listener_close() to stop listening on @port; this will not
be done automatically when you drop your final reference to @listener, as
references may be held internally.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
unless the listener held the final reference to the socket. Before GLib 2.42,
the @socket was automatically closed on finalization of the @listener, even
if references to it were held elsewhere.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="close" c:identifier="g_socket_listener_close" version="2.22">
<doc xml:space="preserve">Closes all the sockets in the listener.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
example, by calling g_socket_listener_add_inet_port()) to be effective.
See g_socket_set_listen_backlog() for details</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="SocketListenerClass" c:type="GSocketListenerClass" glib:is-gtype-struct-for="SocketListener">
<doc xml:space="preserve">Class structure for #GSocketListener.</doc>
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="changed">
<callback name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="event">
<callback name="event">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
this socket.</doc>
</member>
</enumeration>
- <record name="SocketListenerPrivate" c:type="GSocketListenerPrivate" disguised="1">
-
- </record>
+ <record name="SocketListenerPrivate" c:type="GSocketListenerPrivate" disguised="1"/>
<bitfield name="SocketMsgFlags" version="2.22" glib:type-name="GSocketMsgFlags" glib:get-type="g_socket_msg_flags_get_type" c:type="GSocketMsgFlags">
<doc xml:space="preserve">Flags used in g_socket_receive_message() and g_socket_send_message().
The flags listed in the enum are some commonly available flags, but the
only send to hosts on directly connected networks.</doc>
</member>
</bitfield>
- <record name="SocketPrivate" c:type="GSocketPrivate" disguised="1">
-
- </record>
+ <record name="SocketPrivate" c:type="GSocketPrivate" disguised="1"/>
<enumeration name="SocketProtocol" version="2.22" glib:type-name="GSocketProtocol" glib:get-type="g_socket_protocol_get_type" c:type="GSocketProtocol">
<doc xml:space="preserve">A protocol identifier is specified when creating a #GSocket, which is a
family/type specific identifier, where 0 means the default protocol for
threadsafe in general. However, the calls to start and stop the
service are thread-safe so these can be used from threads that
handle incoming clients.</doc>
-
<constructor name="new" c:identifier="g_socket_service_new" version="2.22">
<doc xml:space="preserve">Creates a new #GSocketService with no sockets to listen for.
New listeners can be added with e.g. g_socket_listener_add_address()
New services are created active, there is no need to call
g_socket_service_start(), unless g_socket_service_stop() has been
called before.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketService.</doc>
<type name="SocketService" c:type="GSocketService*"/>
</return-value>
</constructor>
<virtual-method name="incoming">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
service will accept new clients that connect, while
a non-active service will let connecting clients queue
up until the service is started.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the service is active, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
This call is thread-safe, so it may be called from a thread
handling an incoming client request.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This must be called before calling g_socket_listener_close() as
the socket service will start accepting connections immediately
when a new socket is added.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="SocketServiceClass" c:type="GSocketServiceClass" glib:is-gtype-struct-for="SocketService">
<doc xml:space="preserve">Class structure for #GSocketService.</doc>
-
<field name="parent_class">
<type name="SocketListenerClass" c:type="GSocketListenerClass"/>
</field>
<field name="incoming">
<callback name="incoming">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="SocketServicePrivate" c:type="GSocketServicePrivate" disguised="1">
-
- </record>
+ <record name="SocketServicePrivate" c:type="GSocketServicePrivate" disguised="1"/>
<callback name="SocketSourceFunc" c:type="GSocketSourceFunc" version="2.22">
<doc xml:space="preserve">This is the function type of the callback used for the #GSource
returned by g_socket_create_source().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">it should return %FALSE if the source should be removed.</doc>
<type name="gboolean" c:type="gboolean"/>
to the remote service, you can use #GNetworkService's
#GSocketConnectable interface and not need to worry about
#GSrvTarget at all.</doc>
-
<constructor name="new" c:identifier="g_srv_target_new" version="2.22">
<doc xml:space="preserve">Creates a new #GSrvTarget with the given parameters.
You should not need to use this; normally #GSrvTargets are
created by #GResolver.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSrvTarget.</doc>
<type name="SrvTarget" c:type="GSrvTarget*"/>
</constructor>
<method name="copy" c:identifier="g_srv_target_copy" version="2.22">
<doc xml:space="preserve">Copies @target</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a copy of @target</doc>
<type name="SrvTarget" c:type="GSrvTarget*"/>
</method>
<method name="free" c:identifier="g_srv_target_free" version="2.22">
<doc xml:space="preserve">Frees @target</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
this to the user, you should use g_hostname_is_ascii_encoded() to
check if it contains encoded Unicode segments, and use
g_hostname_to_unicode() to convert it if it does.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@target's hostname</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_port" c:identifier="g_srv_target_get_port" version="2.22">
<doc xml:space="preserve">Gets @target's port</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@target's port</doc>
<type name="guint16" c:type="guint16"/>
<doc xml:space="preserve">Gets @target's priority. You should not need to look at this;
#GResolver already sorts the targets according to the algorithm in
RFC 2782.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@target's priority</doc>
<type name="guint16" c:type="guint16"/>
<doc xml:space="preserve">Gets @target's weight. You should not need to look at this;
#GResolver already sorts the targets according to the algorithm in
RFC 2782.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@target's weight</doc>
<type name="guint16" c:type="guint16"/>
</method>
<function name="list_sort" c:identifier="g_srv_target_list_sort" version="2.22" introspectable="0">
<doc xml:space="preserve">Sorts @targets in place according to the algorithm in RFC 2782.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the head of the sorted list.</doc>
<type name="GLib.List" c:type="GList*">
<record name="StaticResource" c:type="GStaticResource">
<doc xml:space="preserve">#GStaticResource is an opaque data structure and can only be accessed
using the following functions.</doc>
-
<field name="data" readable="0" private="1">
<type name="guint8" c:type="const guint8*"/>
</field>
This is normally used by code generated by
[glib-compile-resources][glib-compile-resources]
and is not typically used by other code.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is normally used by code generated by
[glib-compile-resources][glib-compile-resources]
and is not typically used by other code.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GResource</doc>
<type name="Resource" c:type="GResource*"/>
This is normally used by code generated by
[glib-compile-resources][glib-compile-resources]
and is not typically used by other code.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@flags to control this behavior.
The argument list must be terminated with %NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly created #GSubprocess, or %NULL on error (and @error
will be set)</doc>
<doc xml:space="preserve">Create a new process with the given flags and argument list.
The argument list is expected to be %NULL-terminated.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly created #GSubprocess, or %NULL on error (and @error
will be set)</doc>
even if the operation was cancelled. You should especially not
attempt to interact with the pipes while the operation is in progress
(either from another thread or if using the asynchronous version).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="communicate_async" c:identifier="g_subprocess_communicate_async">
<doc xml:space="preserve">Asynchronous version of g_subprocess_communicate(). Complete
invocation with g_subprocess_communicate_finish().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="communicate_finish" c:identifier="g_subprocess_communicate_finish" throws="1">
<doc xml:space="preserve">Complete an invocation of g_subprocess_communicate_async().</doc>
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
On error, @stdout_buf and @stderr_buf will be set to undefined values and
should not be used.</doc>
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<method name="communicate_utf8_async" c:identifier="g_subprocess_communicate_utf8_async">
<doc xml:space="preserve">Asynchronous version of g_subprocess_communicate_utf8(). Complete
invocation with g_subprocess_communicate_utf8_finish().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="communicate_utf8_finish" c:identifier="g_subprocess_communicate_utf8_finish" throws="1">
<doc xml:space="preserve">Complete an invocation of g_subprocess_communicate_utf8_async().</doc>
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
the process after calling this function.
On Unix, this function sends %SIGKILL.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
It is an error to call this function before g_subprocess_wait() and
unless g_subprocess_get_if_exited() returned %TRUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the exit status</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">On UNIX, returns the process ID as a decimal string.
On Windows, returns the result of GetProcessId() also as a string.
If the subprocess has terminated, this will return %NULL.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the subprocess identifier, or %NULL if the subprocess
has terminated</doc>
It is an error to call this function before g_subprocess_wait() has
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the case of a normal exit</doc>
<type name="gboolean" c:type="gboolean"/>
It is an error to call this function before g_subprocess_wait() has
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the case of termination due to a signal</doc>
<type name="gboolean" c:type="gboolean"/>
It is an error to call this function before g_subprocess_wait() has
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the (meaningless) waitpid() exit status from the kernel</doc>
<type name="gint" c:type="gint"/>
<doc xml:space="preserve">Gets the #GInputStream from which to read the stderr output of
@subprocess.
-The process must have been created with
-%G_SUBPROCESS_FLAGS_STDERR_PIPE.</doc>
-
- <return-value transfer-ownership="none">
+The process must have been created with %G_SUBPROCESS_FLAGS_STDERR_PIPE,
+otherwise %NULL will be returned.</doc>
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the stderr pipe</doc>
<type name="InputStream" c:type="GInputStream*"/>
</return-value>
<doc xml:space="preserve">Gets the #GOutputStream that you can write to in order to give data
to the stdin of @subprocess.
-The process must have been created with
-%G_SUBPROCESS_FLAGS_STDIN_PIPE.</doc>
-
- <return-value transfer-ownership="none">
+The process must have been created with %G_SUBPROCESS_FLAGS_STDIN_PIPE and
+not %G_SUBPROCESS_FLAGS_STDIN_INHERIT, otherwise %NULL will be returned.</doc>
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the stdout pipe</doc>
<type name="OutputStream" c:type="GOutputStream*"/>
</return-value>
<doc xml:space="preserve">Gets the #GInputStream from which to read the stdout output of
@subprocess.
-The process must have been created with
-%G_SUBPROCESS_FLAGS_STDOUT_PIPE.</doc>
-
- <return-value transfer-ownership="none">
+The process must have been created with %G_SUBPROCESS_FLAGS_STDOUT_PIPE,
+otherwise %NULL will be returned.</doc>
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the stdout pipe</doc>
<type name="InputStream" c:type="GInputStream*"/>
</return-value>
It is an error to call this function before g_subprocess_wait() has
returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the process exited cleanly with a exit status of 0</doc>
<type name="gboolean" c:type="gboolean"/>
It is an error to call this function before g_subprocess_wait() and
unless g_subprocess_get_if_signaled() returned %TRUE.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the signal causing termination</doc>
<type name="gint" c:type="gint"/>
be signalled.
This API is not available on Windows.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Cancelling @cancellable doesn't kill the subprocess. Call
g_subprocess_force_exit() if it is desirable.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if @cancellable was cancelled</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Wait for the subprocess to terminate.
This is the asynchronous version of g_subprocess_wait().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="wait_check" c:identifier="g_subprocess_wait_check" version="2.40" throws="1">
<doc xml:space="preserve">Combines g_subprocess_wait() with g_spawn_check_exit_status().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if process exited abnormally, or
@cancellable was cancelled</doc>
<doc xml:space="preserve">Combines g_subprocess_wait_async() with g_spawn_check_exit_status().
This is the asynchronous version of g_subprocess_wait_check().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="wait_check_finish" c:identifier="g_subprocess_wait_check_finish" version="2.40" throws="1">
<doc xml:space="preserve">Collects the result of a previous call to
g_subprocess_wait_check_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, or %FALSE with @error set</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="wait_finish" c:identifier="g_subprocess_wait_finish" version="2.40" throws="1">
<doc xml:space="preserve">Collects the result of a previous call to
g_subprocess_wait_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, or %FALSE with @error set</doc>
<type name="gboolean" c:type="gboolean"/>
The launcher is created with the default options. A copy of the
environment of the calling process is made at the time of this call
and will be used as the environment that the process is launched in.</doc>
-
<return-value transfer-ownership="full">
<type name="SubprocessLauncher" c:type="GSubprocessLauncher*"/>
</return-value>
On UNIX, the returned string can be an arbitrary byte string.
On Windows, it will be UTF-8.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the value of the environment variable,
%NULL if unset</doc>
<type name="filename" c:type="const gchar*"/>
%NULL can be given as @child_setup to disable the functionality.
Child setup functions are only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
By default processes are launched with the current working directory
of the launching process at the time of launch.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
On UNIX, all strings in this array can be arbitrary byte strings.
On Windows, they should be in UTF-8.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
You may also not set a flag that conflicts with a previous call to a
function like g_subprocess_launcher_set_stdin_file_path() or
g_subprocess_launcher_take_stdout_fd().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
if the launcher flags contain any flags directing stderr elsewhere.
This feature is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the launcher flags contain any flags directing stdin elsewhere.
This feature is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
if the launcher flags contain any flags directing stdout elsewhere.
This feature is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
On UNIX, both the variable's name and value can be arbitrary byte
strings, except that the variable's name cannot contain '='.
On Windows, they should be in UTF-8.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="spawn" c:identifier="g_subprocess_launcher_spawn" version="2.40" introspectable="0">
<doc xml:space="preserve">Creates a #GSubprocess given a provided varargs list of arguments.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A new #GSubprocess, or %NULL on error (and @error will be set)</doc>
<type name="Subprocess" c:type="GSubprocess*"/>
</method>
<method name="spawnv" c:identifier="g_subprocess_launcher_spawnv" version="2.40" throws="1">
<doc xml:space="preserve">Creates a #GSubprocess given a provided array of arguments.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A new #GSubprocess, or %NULL on error (and @error will be set)</doc>
<type name="Subprocess" c:type="GSubprocess*"/>
</method>
<method name="take_fd" c:identifier="g_subprocess_launcher_take_fd">
<doc xml:space="preserve">Transfer an arbitrary file descriptor from parent process to the
-child. This function takes "ownership" of the fd; it will be closed
+child. This function takes ownership of the @source_fd; it will be closed
in the parent when @self is freed.
By default, all file descriptors from the parent will be closed.
-This function allows you to create (for example) a custom pipe() or
-socketpair() before launching the process, and choose the target
+This function allows you to create (for example) a custom `pipe()` or
+`socketpair()` before launching the process, and choose the target
descriptor in the child.
An example use case is GNUPG, which has a command line argument
---passphrase-fd providing a file descriptor number where it expects
+`--passphrase-fd` providing a file descriptor number where it expects
the passphrase to be written.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
if the launcher flags contain any flags directing stderr elsewhere.
This feature is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the launcher flags contain any flags directing stdin elsewhere.
This feature is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
if the launcher flags contain any flags directing stdout elsewhere.
This feature is only available on UNIX.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
On UNIX, the variable's name can be an arbitrary byte string not
containing '='. On Windows, it should be in UTF-8.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</property>
</class>
<function-macro name="TASK" c:identifier="G_TASK" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TASK_CLASS" c:identifier="G_TASK_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="TASK_GET_CLASS" c:identifier="G_TASK_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TCP_CONNECTION" c:identifier="G_TCP_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TCP_CONNECTION_CLASS" c:identifier="G_TCP_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="TCP_CONNECTION_GET_CLASS" c:identifier="G_TCP_CONNECTION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TCP_WRAPPER_CONNECTION" c:identifier="G_TCP_WRAPPER_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TCP_WRAPPER_CONNECTION_CLASS" c:identifier="G_TCP_WRAPPER_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="TCP_WRAPPER_CONNECTION_GET_CLASS" c:identifier="G_TCP_WRAPPER_CONNECTION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TEST_DBUS" c:identifier="G_TEST_DBUS" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="THEMED_ICON" c:identifier="G_THEMED_ICON" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="THEMED_ICON_CLASS" c:identifier="G_THEMED_ICON_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="THEMED_ICON_GET_CLASS" c:identifier="G_THEMED_ICON_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="THREADED_SOCKET_SERVICE" c:identifier="G_THREADED_SOCKET_SERVICE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="THREADED_SOCKET_SERVICE_CLASS" c:identifier="G_THREADED_SOCKET_SERVICE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="THREADED_SOCKET_SERVICE_GET_CLASS" c:identifier="G_THREADED_SOCKET_SERVICE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_BACKEND" c:identifier="G_TLS_BACKEND" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
<constant name="TLS_BACKEND_EXTENSION_POINT_NAME" value="gio-tls-backend" c:type="G_TLS_BACKEND_EXTENSION_POINT_NAME">
<doc xml:space="preserve">Extension point for TLS functionality via #GTlsBackend.
See [Extending GIO][extending-gio].</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="TLS_BACKEND_GET_INTERFACE" c:identifier="G_TLS_BACKEND_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CERTIFICATE" c:identifier="G_TLS_CERTIFICATE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CERTIFICATE_CLASS" c:identifier="G_TLS_CERTIFICATE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CERTIFICATE_GET_CLASS" c:identifier="G_TLS_CERTIFICATE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CLIENT_CONNECTION" c:identifier="G_TLS_CLIENT_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CLIENT_CONNECTION_GET_INTERFACE" c:identifier="G_TLS_CLIENT_CONNECTION_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CONNECTION" c:identifier="G_TLS_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CONNECTION_CLASS" c:identifier="G_TLS_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_CONNECTION_GET_CLASS" c:identifier="G_TLS_CONNECTION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_DATABASE" c:identifier="G_TLS_DATABASE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_DATABASE_CLASS" c:identifier="G_TLS_DATABASE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_DATABASE_GET_CLASS" c:identifier="G_TLS_DATABASE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
<constant name="TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT" value="1.3.6.1.5.5.7.3.2" c:type="G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT">
<doc xml:space="preserve">The purpose used to verify the client certificate in a TLS connection.
Used by TLS servers.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER" value="1.3.6.1.5.5.7.3.1" c:type="G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER">
<doc xml:space="preserve">The purpose used to verify the server certificate in a TLS connection. This
is the most common purpose in use. Used by TLS clients.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="TLS_FILE_DATABASE" c:identifier="G_TLS_FILE_DATABASE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_FILE_DATABASE_GET_INTERFACE" c:identifier="G_TLS_FILE_DATABASE_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_INTERACTION" c:identifier="G_TLS_INTERACTION" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_INTERACTION_CLASS" c:identifier="G_TLS_INTERACTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_INTERACTION_GET_CLASS" c:identifier="G_TLS_INTERACTION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_PASSWORD" c:identifier="G_TLS_PASSWORD" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_PASSWORD_CLASS" c:identifier="G_TLS_PASSWORD_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_PASSWORD_GET_CLASS" c:identifier="G_TLS_PASSWORD_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_SERVER_CONNECTION" c:identifier="G_TLS_SERVER_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TLS_SERVER_CONNECTION_GET_INTERFACE" c:identifier="G_TLS_SERVER_CONNECTION_GET_INTERFACE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TYPE_IS_ASYNC_INITABLE" c:identifier="G_TYPE_IS_ASYNC_INITABLE" introspectable="0">
-
<parameters>
<parameter name="type">
</parameter>
</parameters>
</function-macro>
<function-macro name="TYPE_IS_DATAGRAM_BASED" c:identifier="G_TYPE_IS_DATAGRAM_BASED" introspectable="0">
-
<parameters>
<parameter name="type">
</parameter>
</parameters>
</function-macro>
<function-macro name="TYPE_IS_INITABLE" c:identifier="G_TYPE_IS_INITABLE" introspectable="0">
-
<parameters>
<parameter name="type">
</parameter>
having come from the `_async()` wrapper
function (for "short-circuit" results, such as when passing
0 to g_input_stream_read_async()).</doc>
-
<implements name="AsyncResult"/>
<constructor name="new" c:identifier="g_task_new" version="2.36">
<doc xml:space="preserve">Creates a #GTask acting on @source_object, which will eventually be
other objects that the task depends on have been destroyed. If you
do not want this behavior, you can use
g_task_set_check_cancellable() to change it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GTask.</doc>
<type name="Task" c:type="GTask*"/>
<doc xml:space="preserve">Checks that @result is a #GTask, and that @source_object is its
source object (or that @source_object is %NULL and @result has no
source object). This can be used in g_return_if_fail() checks.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @result and @source_object are valid, %FALSE
if not</doc>
wrapper method, and deal with it appropriately if so.
See also g_task_report_new_error().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
appropriately if so.
See also g_task_report_error().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_task_set_name()), if one has been set.
This takes a reference on @task until @source is destroyed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_cancellable" c:identifier="g_task_get_cancellable" version="2.36">
<doc xml:space="preserve">Gets @task's #GCancellable</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@task's #GCancellable</doc>
<type name="Cancellable" c:type="GCancellable*"/>
<method name="get_check_cancellable" c:identifier="g_task_get_check_cancellable" version="2.36">
<doc xml:space="preserve">Gets @task's check-cancellable flag. See
g_task_set_check_cancellable() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<doc xml:space="preserve">Gets the value of #GTask:completed. This changes from %FALSE to %TRUE after
the task’s callback is invoked, and will return %FALSE if called from inside
the callback.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the task has completed, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
This will always return a non-%NULL value, even if the task's
context is the default #GMainContext.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@task's #GMainContext</doc>
<type name="GLib.MainContext" c:type="GMainContext*"/>
</method>
<method name="get_name" c:identifier="g_task_get_name" version="2.60">
<doc xml:space="preserve">Gets @task’s name. See g_task_set_name().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@task’s name, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_priority" c:identifier="g_task_get_priority" version="2.36">
<doc xml:space="preserve">Gets @task's priority</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@task's priority</doc>
<type name="gint" c:type="gint"/>
<method name="get_return_on_cancel" c:identifier="g_task_get_return_on_cancel" version="2.36">
<doc xml:space="preserve">Gets @task's return-on-cancel flag. See
g_task_set_return_on_cancel() for more details.</doc>
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<method name="get_source_object" c:identifier="g_task_get_source_object" version="2.36">
<doc xml:space="preserve">Gets the source object from @task. Like
g_async_result_get_source_object(), but does not ref the object.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@task's source object, or %NULL</doc>
<type name="GObject.Object" c:type="gpointer"/>
</method>
<method name="get_source_tag" c:identifier="g_task_get_source_tag" version="2.36">
<doc xml:space="preserve">Gets @task's source tag. See g_task_set_source_tag().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@task's source tag</doc>
<type name="gpointer" c:type="gpointer"/>
</method>
<method name="get_task_data" c:identifier="g_task_get_task_data" version="2.36">
<doc xml:space="preserve">Gets @task's `task_data`.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@task's `task_data`.</doc>
<type name="gpointer" c:type="gpointer"/>
</method>
<method name="had_error" c:identifier="g_task_had_error" version="2.36">
<doc xml:space="preserve">Tests if @task resulted in an error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the task resulted in an error, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
Since this method transfers ownership of the return value (or
error) to the caller, you may only call it once.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the task result, or %FALSE on error</doc>
<type name="gboolean" c:type="gboolean"/>
Since this method transfers ownership of the return value (or
error) to the caller, you may only call it once.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the task result, or -1 on error</doc>
<type name="gssize" c:type="gssize"/>
Since this method transfers ownership of the return value (or
error) to the caller, you may only call it once.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the task result, or %NULL on error</doc>
<type name="gpointer" c:type="gpointer"/>
Since this method transfers ownership of the return value (or
error) to the caller, you may only call it once.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @task succeeded, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Sets @task's result to @result and completes the task (see
g_task_return_pointer() for more discussion of exactly what this
means).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
as well.
See also g_task_return_new_error().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@task's error accordingly and completes the task (see
g_task_return_pointer() for more discussion of exactly what this
means).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @task has been cancelled, %FALSE if not</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Sets @task's result to @result and completes the task (see
g_task_return_pointer() for more discussion of exactly what this
means).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
means).
See also g_task_return_error().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_task_return_pointer(), you cannot assume that @result is still
valid after calling this, unless you are still holding another
reference on it.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is a very generic low-level method intended primarily for use
by language bindings; for C code, g_task_return_pointer() and the
like will normally be much easier to use.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
do this. If you have a very large number of tasks to run, but don't
want them to all run at once, you should only queue a limited
number of them at a time.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
always do this. If you have a very large number of tasks to run,
but don't want them to all run at once, you should only queue a
limited number of them at a time.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If you are using g_task_set_return_on_cancel() as well, then
you must leave check-cancellable set %TRUE.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This function may only be called before the @task is first used in a thread
other than the one it was constructed in.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_task_attach_source() and the scheduling of tasks run in threads,
and can also be explicitly retrieved later via
g_task_get_priority().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_task_run_in_thread()/g_task_run_in_thread_sync(), then the
#GTaskThreadFunc will still be run (for consistency), but the task
will also be completed right away.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @task's return-on-cancel flag was changed to
match @return_on_cancel. %FALSE if @task has already been
g_task_get_source_tag() (or g_async_result_is_tagged()) in the
task's "finish" function, to figure out if the response came from a
particular place.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_task_data" c:identifier="g_task_set_task_data" version="2.36">
<doc xml:space="preserve">Sets @task's task data (freeing the existing task data, if any).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<type name="gboolean" c:type="gboolean"/>
</property>
</class>
- <record name="TaskClass" c:type="GTaskClass" disguised="1" glib:is-gtype-struct-for="Task">
-
- </record>
+ <record name="TaskClass" c:type="GTaskClass" disguised="1" glib:is-gtype-struct-for="Task"/>
<callback name="TaskThreadFunc" c:type="GTaskThreadFunc" version="2.36">
<doc xml:space="preserve">The prototype for a task function to be run in a thread via
g_task_run_in_thread() or g_task_run_in_thread_sync().
Other than in that case, @task will be completed when the
#GTaskThreadFunc returns, not when it calls a
`g_task_return_` function.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<class name="TcpConnection" c:symbol-prefix="tcp_connection" c:type="GTcpConnection" version="2.22" parent="SocketConnection" glib:type-name="GTcpConnection" glib:get-type="g_tcp_connection_get_type" glib:type-struct="TcpConnectionClass">
<doc xml:space="preserve">This is the subclass of #GSocketConnection that is created
for TCP/IP sockets.</doc>
-
<method name="get_graceful_disconnect" c:identifier="g_tcp_connection_get_graceful_disconnect" version="2.22">
<doc xml:space="preserve">Checks if graceful disconnects are used. See
g_tcp_connection_set_graceful_disconnect().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if graceful disconnect is used on close, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
However, it also means we have to wait for all the data to reach the
other side and for it to acknowledge this by closing the socket, which may
take a while. For this reason it is disabled by default.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="TcpConnectionClass" c:type="GTcpConnectionClass" glib:is-gtype-struct-for="TcpConnection">
-
<field name="parent_class">
<type name="SocketConnectionClass" c:type="GSocketConnectionClass"/>
</field>
</record>
- <record name="TcpConnectionPrivate" c:type="GTcpConnectionPrivate" disguised="1">
-
- </record>
+ <record name="TcpConnectionPrivate" c:type="GTcpConnectionPrivate" disguised="1"/>
<class name="TcpWrapperConnection" c:symbol-prefix="tcp_wrapper_connection" c:type="GTcpWrapperConnection" version="2.28" parent="TcpConnection" glib:type-name="GTcpWrapperConnection" glib:get-type="g_tcp_wrapper_connection_get_type" glib:type-struct="TcpWrapperConnectionClass">
<doc xml:space="preserve">A #GTcpWrapperConnection can be used to wrap a #GIOStream that is
based on a #GSocket, but which is not actually a
#GSocketConnection. This is used by #GSocketClient so that it can
always return a #GSocketConnection, even when the connection it has
actually created is not directly a #GSocketConnection.</doc>
-
<constructor name="new" c:identifier="g_tcp_wrapper_connection_new" version="2.28">
<doc xml:space="preserve">Wraps @base_io_stream and @socket together as a #GSocketConnection.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GSocketConnection.</doc>
<type name="SocketConnection" c:type="GSocketConnection*"/>
</constructor>
<method name="get_base_io_stream" c:identifier="g_tcp_wrapper_connection_get_base_io_stream">
<doc xml:space="preserve">Gets @conn's base #GIOStream</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@conn's base #GIOStream</doc>
<type name="IOStream" c:type="GIOStream*"/>
</field>
</class>
<record name="TcpWrapperConnectionClass" c:type="GTcpWrapperConnectionClass" glib:is-gtype-struct-for="TcpWrapperConnection">
-
<field name="parent_class">
<type name="TcpConnectionClass" c:type="GTcpConnectionClass"/>
</field>
</record>
- <record name="TcpWrapperConnectionPrivate" c:type="GTcpWrapperConnectionPrivate" disguised="1">
-
- </record>
+ <record name="TcpWrapperConnectionPrivate" c:type="GTcpWrapperConnectionPrivate" disguised="1"/>
<class name="TestDBus" c:symbol-prefix="test_dbus" c:type="GTestDBus" version="2.34" parent="GObject.Object" glib:type-name="GTestDBus" glib:get-type="g_test_dbus_get_type">
<doc xml:space="preserve">A helper class for testing code which uses D-Bus without touching the user's
session bus.
]|</doc>
<constructor name="new" c:identifier="g_test_dbus_new">
<doc xml:space="preserve">Create a new #GTestDBus object.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GTestDBus.</doc>
<type name="TestDBus" c:type="GTestDBus*"/>
This is useful for unit tests that want to verify behaviour when no session
bus is running. It is not necessary to call this if unit test already calls
g_test_dbus_up() before acquiring the session bus.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="add_service_dir" c:identifier="g_test_dbus_add_service_dir">
<doc xml:space="preserve">Add a path where dbus-daemon will look up .service files. This can't be
called after g_test_dbus_up().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This will wait for the singleton returned by g_bus_get() or g_bus_get_sync()
to be destroyed. This is done to ensure that the next unit test won't get a
leaked singleton from this test.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Get the address on which dbus-daemon is running. If g_test_dbus_up() has not
been called yet, %NULL is returned. This can be used with
g_dbus_connection_new_for_address().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the address of the bus, or %NULL.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_flags" c:identifier="g_test_dbus_get_flags">
<doc xml:space="preserve">Get the flags of the #GTestDBus object.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the value of #GTestDBus:flags property</doc>
<type name="TestDBusFlags" c:type="GTestDBusFlags"/>
singleton returned by g_bus_get() or g_bus_get_sync() is destroyed. Unit
tests wanting to verify behaviour after the session bus has been stopped
can use this function but should still call g_test_dbus_down() when done.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If this function is called from unit test's main(), then g_test_dbus_down()
must be called after g_test_run().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Ideally something like gtk_icon_theme_choose_icon() should be used to
resolve the list of names so that fallback icons work nicely with
themes that inherit other themes.</doc>
-
<implements name="Icon"/>
<constructor name="new" c:identifier="g_themed_icon_new">
<doc xml:space="preserve">Creates a new themed icon for @iconname.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GThemedIcon.</doc>
<type name="ThemedIcon" c:type="GIcon*"/>
</constructor>
<constructor name="new_from_names" c:identifier="g_themed_icon_new_from_names">
<doc xml:space="preserve">Creates a new themed icon for @iconnames.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GThemedIcon</doc>
<type name="ThemedIcon" c:type="GIcon*"/>
icon1 = g_themed_icon_new_from_names (names, 4);
icon2 = g_themed_icon_new_with_default_fallbacks ("gnome-dev-cdrom-audio");
]|</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GThemedIcon.</doc>
<type name="ThemedIcon" c:type="GIcon*"/>
Note that doing so invalidates the hash computed by prior calls
to g_icon_hash().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_names" c:identifier="g_themed_icon_get_names">
<doc xml:space="preserve">Gets the names of icons from within @icon.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a list of icon names.</doc>
<array c:type="const gchar* const*">
Note that doing so invalidates the hash computed by prior calls
to g_icon_hash().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<type name="gboolean" c:type="gboolean"/>
</property>
</class>
- <record name="ThemedIconClass" c:type="GThemedIconClass" disguised="1" glib:is-gtype-struct-for="ThemedIcon">
-
- </record>
+ <record name="ThemedIconClass" c:type="GThemedIconClass" disguised="1" glib:is-gtype-struct-for="ThemedIcon"/>
<class name="ThreadedSocketService" c:symbol-prefix="threaded_socket_service" c:type="GThreadedSocketService" version="2.22" parent="SocketService" glib:type-name="GThreadedSocketService" glib:get-type="g_threaded_socket_service_get_type" glib:type-struct="ThreadedSocketServiceClass">
<doc xml:space="preserve">A #GThreadedSocketService is a simple subclass of #GSocketService
that handles incoming connections by creating a worker thread and
As with #GSocketService, you may connect to #GThreadedSocketService::run,
or subclass and override the default handler.</doc>
-
<constructor name="new" c:identifier="g_threaded_socket_service_new" version="2.22">
<doc xml:space="preserve">Creates a new #GThreadedSocketService with no listeners. Listeners
must be added with one of the #GSocketListener "add" methods.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GSocketService.</doc>
<type name="SocketService" c:type="GSocketService*"/>
</parameters>
</constructor>
<virtual-method name="run">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</glib:signal>
</class>
<record name="ThreadedSocketServiceClass" c:type="GThreadedSocketServiceClass" glib:is-gtype-struct-for="ThreadedSocketService">
-
<field name="parent_class">
<type name="SocketServiceClass" c:type="GSocketServiceClass"/>
</field>
<field name="run">
<callback name="run">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="ThreadedSocketServicePrivate" c:type="GThreadedSocketServicePrivate" disguised="1">
-
- </record>
+ <record name="ThreadedSocketServicePrivate" c:type="GThreadedSocketServicePrivate" disguised="1"/>
<enumeration name="TlsAuthenticationMode" version="2.28" glib:type-name="GTlsAuthenticationMode" glib:get-type="g_tls_authentication_mode_get_type" c:type="GTlsAuthenticationMode">
<doc xml:space="preserve">The client authentication mode for a #GTlsServerConnection.</doc>
<member name="none" value="0" c:identifier="G_TLS_AUTHENTICATION_NONE" glib:nick="none">
</enumeration>
<interface name="TlsBackend" c:symbol-prefix="tls_backend" c:type="GTlsBackend" version="2.28" glib:type-name="GTlsBackend" glib:get-type="g_tls_backend_get_type" glib:type-struct="TlsBackendInterface">
<doc xml:space="preserve">TLS (Transport Layer Security, aka SSL) and DTLS backend.</doc>
-
<function name="get_default" c:identifier="g_tls_backend_get_default" version="2.28">
<doc xml:space="preserve">Gets the default #GTlsBackend for the system.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GTlsBackend</doc>
+ <doc xml:space="preserve">a #GTlsBackend, which will be a
+ dummy object if no TLS backend is available</doc>
<type name="TlsBackend" c:type="GTlsBackend*"/>
</return-value>
</function>
<virtual-method name="get_default_database" invoker="get_default_database" version="2.30">
<doc xml:space="preserve">Gets the default #GTlsDatabase used to verify TLS connections.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the default database, which should be
unreffed when done.</doc>
<virtual-method name="supports_dtls" invoker="supports_dtls" version="2.48">
<doc xml:space="preserve">Checks if DTLS is supported. DTLS support may not be available even if TLS
support is available, and vice-versa.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether DTLS is supported</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="supports_tls" invoker="supports_tls" version="2.28">
<doc xml:space="preserve">Checks if TLS is supported; if this returns %FALSE for the default
#GTlsBackend, it means no "real" TLS backend is available.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether or not TLS is supported</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<method name="get_certificate_type" c:identifier="g_tls_backend_get_certificate_type" version="2.28">
<doc xml:space="preserve">Gets the #GType of @backend's #GTlsCertificate implementation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of @backend's #GTlsCertificate
implementation.</doc>
</method>
<method name="get_client_connection_type" c:identifier="g_tls_backend_get_client_connection_type" version="2.28">
<doc xml:space="preserve">Gets the #GType of @backend's #GTlsClientConnection implementation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of @backend's #GTlsClientConnection
implementation.</doc>
</method>
<method name="get_default_database" c:identifier="g_tls_backend_get_default_database" version="2.30">
<doc xml:space="preserve">Gets the default #GTlsDatabase used to verify TLS connections.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the default database, which should be
unreffed when done.</doc>
</method>
<method name="get_dtls_client_connection_type" c:identifier="g_tls_backend_get_dtls_client_connection_type" version="2.48">
<doc xml:space="preserve">Gets the #GType of @backend’s #GDtlsClientConnection implementation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of @backend’s #GDtlsClientConnection
implementation, or %G_TYPE_INVALID if this backend doesn’t support DTLS.</doc>
</method>
<method name="get_dtls_server_connection_type" c:identifier="g_tls_backend_get_dtls_server_connection_type" version="2.48">
<doc xml:space="preserve">Gets the #GType of @backend’s #GDtlsServerConnection implementation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of @backend’s #GDtlsServerConnection
implementation, or %G_TYPE_INVALID if this backend doesn’t support DTLS.</doc>
</method>
<method name="get_file_database_type" c:identifier="g_tls_backend_get_file_database_type" version="2.30">
<doc xml:space="preserve">Gets the #GType of @backend's #GTlsFileDatabase implementation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of backend's #GTlsFileDatabase implementation.</doc>
<type name="GType" c:type="GType"/>
</method>
<method name="get_server_connection_type" c:identifier="g_tls_backend_get_server_connection_type" version="2.28">
<doc xml:space="preserve">Gets the #GType of @backend's #GTlsServerConnection implementation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GType of @backend's #GTlsServerConnection
implementation.</doc>
Setting a %NULL default database will reset to using the system default
database as if g_tls_backend_set_default_database() had never been called.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="supports_dtls" c:identifier="g_tls_backend_supports_dtls" version="2.48">
<doc xml:space="preserve">Checks if DTLS is supported. DTLS support may not be available even if TLS
support is available, and vice-versa.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether DTLS is supported</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="supports_tls" c:identifier="g_tls_backend_supports_tls" version="2.28">
<doc xml:space="preserve">Checks if TLS is supported; if this returns %FALSE for the default
#GTlsBackend, it means no "real" TLS backend is available.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether or not TLS is supported</doc>
<type name="gboolean" c:type="gboolean"/>
</interface>
<record name="TlsBackendInterface" c:type="GTlsBackendInterface" glib:is-gtype-struct-for="TlsBackend" version="2.28">
<doc xml:space="preserve">Provides an interface for describing TLS-related types.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="supports_tls">
<callback name="supports_tls">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether or not TLS is supported</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_certificate_type">
<callback name="get_certificate_type">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</field>
<field name="get_client_connection_type">
<callback name="get_client_connection_type">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</field>
<field name="get_server_connection_type">
<callback name="get_server_connection_type">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</field>
<field name="get_file_database_type">
<callback name="get_file_database_type">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</field>
<field name="get_default_database">
<callback name="get_default_database">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the default database, which should be
unreffed when done.</doc>
</field>
<field name="supports_dtls">
<callback name="supports_dtls">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether DTLS is supported</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_dtls_client_connection_type">
<callback name="get_dtls_client_connection_type">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</field>
<field name="get_dtls_server_connection_type">
<callback name="get_dtls_server_connection_type">
-
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
received by a client from a server), or the combination of
a certificate and a private key (which is needed when acting as a
#GTlsServerConnection).</doc>
-
<constructor name="new_from_file" c:identifier="g_tls_certificate_new_from_file" version="2.28" throws="1">
<doc xml:space="preserve">Creates a #GTlsCertificate from the PEM-encoded data in @file. The
returned certificate will be the first certificate found in @file. As
If @file cannot be read or parsed, the function will return %NULL and
set @error. Otherwise, this behaves like
g_tls_certificate_new_from_pem().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new certificate, or %NULL on error</doc>
<type name="TlsCertificate" c:type="GTlsCertificate*"/>
If either file cannot be read or parsed, the function will return
%NULL and set @error. Otherwise, this behaves like
g_tls_certificate_new_from_pem().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new certificate, or %NULL on error</doc>
<type name="TlsCertificate" c:type="GTlsCertificate*"/>
will be set accordingly if the verification succeeds. If any
certificate in the chain cannot be verified, the first certificate in
the file will still be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new certificate, or %NULL if @data is invalid</doc>
<type name="TlsCertificate" c:type="GTlsCertificate*"/>
return %NULL and set @error. If @file does not contain any
PEM-encoded certificates, this will return an empty list and not
set @error.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a
#GList containing #GTlsCertificate objects. You must free the list
(All other #GTlsCertificateFlags values will always be set or unset
as appropriate.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
</virtual-method>
<method name="get_issuer" c:identifier="g_tls_certificate_get_issuer" version="2.28">
<doc xml:space="preserve">Gets the #GTlsCertificate representing @cert's issuer, if known</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The certificate of @cert's issuer,
or %NULL if @cert is self-signed or signed with an unknown
certificate.</doc>
This has the effect that two certificates may compare equal even if
their #GTlsCertificate:issuer, #GTlsCertificate:private-key, or
#GTlsCertificate:private-key-pem properties differ.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the same or not</doc>
<type name="gboolean" c:type="gboolean"/>
(All other #GTlsCertificateFlags values will always be set or unset
as appropriate.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
</field>
</class>
<record name="TlsCertificateClass" c:type="GTlsCertificateClass" glib:is-gtype-struct-for="TlsCertificate">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="verify">
<callback name="verify">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
flags</doc>
</member>
</bitfield>
- <record name="TlsCertificatePrivate" c:type="GTlsCertificatePrivate" disguised="1">
-
- </record>
+ <record name="TlsCertificatePrivate" c:type="GTlsCertificatePrivate" disguised="1"/>
<enumeration name="TlsCertificateRequestFlags" version="2.40" glib:type-name="GTlsCertificateRequestFlags" glib:get-type="g_tls_certificate_request_flags_get_type" c:type="GTlsCertificateRequestFlags">
<doc xml:space="preserve">Flags for g_tls_interaction_request_certificate(),
g_tls_interaction_request_certificate_async(), and
<interface name="TlsClientConnection" c:symbol-prefix="tls_client_connection" c:type="GTlsClientConnection" version="2.28" glib:type-name="GTlsClientConnection" glib:get-type="g_tls_client_connection_get_type" glib:type-struct="TlsClientConnectionInterface">
<doc xml:space="preserve">#GTlsClientConnection is the client-side subclass of
#GTlsConnection, representing a client-side TLS connection.</doc>
-
<prerequisite name="TlsConnection"/>
<function name="new" c:identifier="g_tls_client_connection_new" version="2.28" throws="1">
<doc xml:space="preserve">Creates a new #GTlsClientConnection wrapping @base_io_stream (which
See the documentation for #GTlsConnection:base-io-stream for restrictions
on when application code can run operations on the @base_io_stream after
this function has returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GTlsClientConnection, or %NULL on error</doc>
previously been used for session resumption, since session ticket
reuse would be a privacy weakness. Using this function causes the
ticket to be copied without regard for privacy considerations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
previously been used for session resumption, since session ticket
reuse would be a privacy weakness. Using this function causes the
ticket to be copied without regard for privacy considerations.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Each item in the list is a #GByteArray which contains the complete
subject DN of the certificate authority.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the list of
CA DNs. You should unref each element with g_byte_array_unref() and then
</method>
<method name="get_server_identity" c:identifier="g_tls_client_connection_get_server_identity" version="2.28">
<doc xml:space="preserve">Gets @conn's expected server identity</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GSocketConnectable describing the
expected server identity, or %NULL if the expected identity is not
known.</doc>
<doc xml:space="preserve">SSL 3.0 is no longer supported. See
g_tls_client_connection_set_use_ssl3() for details.</doc>
<doc-deprecated xml:space="preserve">SSL 3.0 is insecure.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_validation_flags" c:identifier="g_tls_client_connection_get_validation_flags" version="2.28">
<doc xml:space="preserve">Gets @conn's validation flags</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the validation flags</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
servers on virtual hosts which certificate to present, and also
to let @conn know what name to look for in the certificate when
performing %G_TLS_CERTIFICATE_BAD_IDENTITY validation, if enabled.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Since GLib 2.64, this function does nothing.</doc>
<doc-deprecated xml:space="preserve">SSL 3.0 is insecure.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Sets @conn's validation flags, to override the default set of
checks performed when validating a server certificate. By default,
%G_TLS_CERTIFICATE_VALIDATE_ALL is used.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</interface>
<record name="TlsClientConnectionInterface" c:type="GTlsClientConnectionInterface" glib:is-gtype-struct-for="TlsClientConnection" version="2.26">
<doc xml:space="preserve">vtable for a #GTlsClientConnection implementation.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="copy_session_state">
<callback name="copy_session_state">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
implement client-side and server-side TLS, respectively.
For DTLS (Datagram TLS) support, see #GDtlsConnection.</doc>
-
<virtual-method name="accept_certificate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="get_binding_data" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
#GTlsConnection::accept_certificate may be emitted during the
handshake.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="handshake_async" invoker="handshake_async" version="2.28">
<doc xml:space="preserve">Asynchronously performs a TLS handshake on @conn. See
g_tls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="handshake_finish" invoker="handshake_finish" version="2.28" throws="1">
<doc xml:space="preserve">Finish an asynchronous TLS handshake operation. See
g_tls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set.</doc>
<method name="emit_accept_certificate" c:identifier="g_tls_connection_emit_accept_certificate" version="2.28">
<doc xml:space="preserve">Used by #GTlsConnection implementations to emit the
#GTlsConnection::accept-certificate signal.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if one of the signal handlers has returned
%TRUE to accept @peer_cert</doc>
<method name="get_certificate" c:identifier="g_tls_connection_get_certificate" version="2.28">
<doc xml:space="preserve">Gets @conn's certificate, as set by
g_tls_connection_set_certificate().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@conn's certificate, or %NULL</doc>
<type name="TlsCertificate" c:type="GTlsCertificate*"/>
will be available though. That could happen if TLS connection does not
support @type or the binding data is not available yet due to additional
negotiation or input required.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="get_database" c:identifier="g_tls_connection_get_database" version="2.30">
<doc xml:space="preserve">Gets the certificate database that @conn uses to verify
peer certificates. See g_tls_connection_set_database().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the certificate database that @conn uses or %NULL</doc>
<type name="TlsDatabase" c:type="GTlsDatabase*"/>
<doc xml:space="preserve">Get the object that will be used to interact with the user. It will be used
for things like prompting the user for passwords. If %NULL is returned, then
no user interaction will occur for this connection.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The interaction object.</doc>
<type name="TlsInteraction" c:type="GTlsInteraction*"/>
protocol that matched one of @conn's protocols, or the TLS backend
does not support ALPN, then this will be %NULL. See
g_tls_connection_set_advertised_protocols().</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the negotiated protocol, or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
<doc xml:space="preserve">Gets @conn's peer's certificate after the handshake has completed
or failed. (It is not set during the emission of
#GTlsConnection::accept-certificate.)</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">@conn's peer's certificate, or %NULL</doc>
<type name="TlsCertificate" c:type="GTlsCertificate*"/>
<doc xml:space="preserve">Gets the errors associated with validating @conn's peer's
certificate, after the handshake has completed or failed. (It is
not set during the emission of #GTlsConnection::accept-certificate.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">@conn's peer's certificate errors</doc>
<type name="TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
<doc-deprecated xml:space="preserve">Changing the rehandshake mode is no longer
required for compatibility. Also, rehandshaking has been removed
from the TLS protocol in TLS 1.3.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%G_TLS_REHANDSHAKE_SAFELY</doc>
<type name="TlsRehandshakeMode" c:type="GTlsRehandshakeMode"/>
<doc xml:space="preserve">Tests whether or not @conn expects a proper TLS close notification
when the connection is closed. See
g_tls_connection_set_require_close_notify() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @conn requires a proper TLS close
notification.</doc>
<doc xml:space="preserve">Gets whether @conn uses the system certificate database to verify
peer certificates. See g_tls_connection_set_use_system_certdb().</doc>
<doc-deprecated xml:space="preserve">Use g_tls_connection_get_database() instead</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether @conn uses the system certificate database</doc>
<type name="gboolean" c:type="gboolean"/>
#GTlsConnection::accept_certificate may be emitted during the
handshake.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="handshake_async" c:identifier="g_tls_connection_handshake_async" version="2.28">
<doc xml:space="preserve">Asynchronously performs a TLS handshake on @conn. See
g_tls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="handshake_finish" c:identifier="g_tls_connection_handshake_finish" version="2.28" throws="1">
<doc xml:space="preserve">Finish an asynchronous TLS handshake operation. See
g_tls_connection_handshake() for more information.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set.</doc>
See [IANA TLS ALPN Protocol IDs](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)
for a list of registered protocol IDs.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
certificate, you can tell that the server requested one by the fact
that g_tls_client_connection_get_accepted_cas() will return
non-%NULL.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
#GTlsConnection::accept-certificate will always be emitted on
client-side connections, unless that bit is not set in
#GTlsClientConnection:validation-flags).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The @interaction argument will normally be a derived subclass of
#GTlsInteraction. %NULL can also be provided if no user interaction
should occur for this connection.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc-deprecated xml:space="preserve">Changing the rehandshake mode is no longer
required for compatibility. Also, rehandshaking has been removed
from the TLS protocol in TLS 1.3.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
close, you can close @conn's #GTlsConnection:base-io-stream rather
than closing @conn itself, but note that this may only be done when no other
operations are pending on @conn or the base I/O stream.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
client-side connections, unless that bit is not set in
#GTlsClientConnection:validation-flags).</doc>
<doc-deprecated xml:space="preserve">Use g_tls_connection_set_database() instead</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
</class>
<record name="TlsConnectionClass" c:type="GTlsConnectionClass" glib:is-gtype-struct-for="TlsConnection">
-
<field name="parent_class">
<type name="IOStreamClass" c:type="GIOStreamClass"/>
</field>
<field name="accept_certificate">
<callback name="accept_certificate">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="handshake">
<callback name="handshake" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">success or failure</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="handshake_async">
<callback name="handshake_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="handshake_finish">
<callback name="handshake_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on failure, in which
case @error will be set.</doc>
</field>
<field name="get_binding_data">
<callback name="get_binding_data" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</array>
</field>
</record>
- <record name="TlsConnectionPrivate" c:type="GTlsConnectionPrivate" disguised="1">
-
- </record>
+ <record name="TlsConnectionPrivate" c:type="GTlsConnectionPrivate" disguised="1"/>
<class name="TlsDatabase" c:symbol-prefix="tls_database" c:type="GTlsDatabase" version="2.30" parent="GObject.Object" abstract="1" glib:type-name="GTlsDatabase" glib:get-type="g_tls_database_get_type" glib:type-struct="TlsDatabaseClass">
<doc xml:space="preserve">#GTlsDatabase is used to look up certificates and other information
from a certificate or key store. It is an abstract base class which
Most common client applications will not directly interact with
#GTlsDatabase. It is used internally by #GTlsConnection.</doc>
-
<virtual-method name="create_certificate_handle" invoker="create_certificate_handle" version="2.30">
<doc xml:space="preserve">Create a handle string for the certificate. The database will only be able
to create a handle for certificates that originate from the database. In
This handle should be stable across various instances of the application,
and between applications. If a certificate is modified in the database,
then it is not guaranteed that this handle will continue to point to it.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
handle.</doc>
This function can block, use g_tls_database_lookup_certificate_for_handle_async() to perform
the lookup operation asynchronously.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated
#GTlsCertificate, or %NULL. Use g_object_unref() to release the certificate.</doc>
<virtual-method name="lookup_certificate_for_handle_async" invoker="lookup_certificate_for_handle_async" version="2.30">
<doc xml:space="preserve">Asynchronously look up a certificate by its handle in the database. See
g_tls_database_lookup_certificate_for_handle() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the handle is no longer valid, or does not point to a certificate in
this database, then %NULL will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GTlsCertificate object.
Use g_object_unref() to release the certificate.</doc>
This function can block, use g_tls_database_lookup_certificate_issuer_async() to perform
the lookup operation asynchronously.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated issuer #GTlsCertificate,
or %NULL. Use g_object_unref() to release the certificate.</doc>
<virtual-method name="lookup_certificate_issuer_async" invoker="lookup_certificate_issuer_async" version="2.30">
<doc xml:space="preserve">Asynchronously look up the issuer of @certificate in the database. See
g_tls_database_lookup_certificate_issuer() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="lookup_certificate_issuer_finish" invoker="lookup_certificate_issuer_finish" version="2.30" throws="1">
<doc xml:space="preserve">Finish an asynchronous lookup issuer operation. See
g_tls_database_lookup_certificate_issuer() for more information.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated issuer #GTlsCertificate,
or %NULL. Use g_object_unref() to release the certificate.</doc>
This function can block, use g_tls_database_lookup_certificates_issued_by_async() to perform
the lookup operation asynchronously.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated list of #GTlsCertificate
objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.</doc>
The database may choose to hold a reference to the issuer byte array for the duration
of of this asynchronous operation. The byte array should not be modified during
this time.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="lookup_certificates_issued_by_finish" invoker="lookup_certificates_issued_by_finish" version="2.30" throws="1">
<doc xml:space="preserve">Finish an asynchronous lookup of certificates. See
g_tls_database_lookup_certificates_issued_by() for more information.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated list of #GTlsCertificate
objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.</doc>
This function can block, use g_tls_database_verify_chain_async() to perform
the verification operation asynchronously.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags which represents the
result of verification.</doc>
<doc xml:space="preserve">Asynchronously determines the validity of a certificate chain after
looking up and adding any missing certificates to the chain. See
g_tls_database_verify_chain() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set
accordingly. @error is not set when @chain is successfully analyzed
but found to be invalid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags which represents the
result of verification.</doc>
This handle should be stable across various instances of the application,
and between applications. If a certificate is modified in the database,
then it is not guaranteed that this handle will continue to point to it.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
handle.</doc>
This function can block, use g_tls_database_lookup_certificate_for_handle_async() to perform
the lookup operation asynchronously.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated
#GTlsCertificate, or %NULL. Use g_object_unref() to release the certificate.</doc>
<method name="lookup_certificate_for_handle_async" c:identifier="g_tls_database_lookup_certificate_for_handle_async" version="2.30">
<doc xml:space="preserve">Asynchronously look up a certificate by its handle in the database. See
g_tls_database_lookup_certificate_for_handle() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the handle is no longer valid, or does not point to a certificate in
this database, then %NULL will be returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GTlsCertificate object.
Use g_object_unref() to release the certificate.</doc>
This function can block, use g_tls_database_lookup_certificate_issuer_async() to perform
the lookup operation asynchronously.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated issuer #GTlsCertificate,
or %NULL. Use g_object_unref() to release the certificate.</doc>
<method name="lookup_certificate_issuer_async" c:identifier="g_tls_database_lookup_certificate_issuer_async" version="2.30">
<doc xml:space="preserve">Asynchronously look up the issuer of @certificate in the database. See
g_tls_database_lookup_certificate_issuer() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="lookup_certificate_issuer_finish" c:identifier="g_tls_database_lookup_certificate_issuer_finish" version="2.30" throws="1">
<doc xml:space="preserve">Finish an asynchronous lookup issuer operation. See
g_tls_database_lookup_certificate_issuer() for more information.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated issuer #GTlsCertificate,
or %NULL. Use g_object_unref() to release the certificate.</doc>
This function can block, use g_tls_database_lookup_certificates_issued_by_async() to perform
the lookup operation asynchronously.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated list of #GTlsCertificate
objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.</doc>
The database may choose to hold a reference to the issuer byte array for the duration
of of this asynchronous operation. The byte array should not be modified during
this time.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="lookup_certificates_issued_by_finish" c:identifier="g_tls_database_lookup_certificates_issued_by_finish" version="2.30" throws="1">
<doc xml:space="preserve">Finish an asynchronous lookup of certificates. See
g_tls_database_lookup_certificates_issued_by() for more information.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated list of #GTlsCertificate
objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.</doc>
This function can block, use g_tls_database_verify_chain_async() to perform
the verification operation asynchronously.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags which represents the
result of verification.</doc>
<doc xml:space="preserve">Asynchronously determines the validity of a certificate chain after
looking up and adding any missing certificates to the chain. See
g_tls_database_verify_chain() for more information.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set
accordingly. @error is not set when @chain is successfully analyzed
but found to be invalid.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags which represents the
result of verification.</doc>
<doc xml:space="preserve">The class for #GTlsDatabase. Derived classes should implement the various
virtual methods. _async and _finish methods have a default
implementation that runs the corresponding sync method in a thread.</doc>
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="verify_chain">
<callback name="verify_chain" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags which represents the
result of verification.</doc>
</field>
<field name="verify_chain_async">
<callback name="verify_chain_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="verify_chain_finish">
<callback name="verify_chain_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the appropriate #GTlsCertificateFlags which represents the
result of verification.</doc>
</field>
<field name="create_certificate_handle">
<callback name="create_certificate_handle">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
handle.</doc>
</field>
<field name="lookup_certificate_for_handle">
<callback name="lookup_certificate_for_handle" throws="1">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated
#GTlsCertificate, or %NULL. Use g_object_unref() to release the certificate.</doc>
</field>
<field name="lookup_certificate_for_handle_async">
<callback name="lookup_certificate_for_handle_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_certificate_for_handle_finish">
<callback name="lookup_certificate_for_handle_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GTlsCertificate object.
Use g_object_unref() to release the certificate.</doc>
</field>
<field name="lookup_certificate_issuer">
<callback name="lookup_certificate_issuer" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated issuer #GTlsCertificate,
or %NULL. Use g_object_unref() to release the certificate.</doc>
</field>
<field name="lookup_certificate_issuer_async">
<callback name="lookup_certificate_issuer_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_certificate_issuer_finish">
<callback name="lookup_certificate_issuer_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated issuer #GTlsCertificate,
or %NULL. Use g_object_unref() to release the certificate.</doc>
</field>
<field name="lookup_certificates_issued_by">
<callback name="lookup_certificates_issued_by" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated list of #GTlsCertificate
objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.</doc>
</field>
<field name="lookup_certificates_issued_by_async">
<callback name="lookup_certificates_issued_by_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="lookup_certificates_issued_by_finish">
<callback name="lookup_certificates_issued_by_finish" throws="1">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated list of #GTlsCertificate
objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.</doc>
a private key.</doc>
</member>
</enumeration>
- <record name="TlsDatabasePrivate" c:type="GTlsDatabasePrivate" disguised="1">
-
- </record>
+ <record name="TlsDatabasePrivate" c:type="GTlsDatabasePrivate" disguised="1"/>
<bitfield name="TlsDatabaseVerifyFlags" version="2.30" glib:type-name="GTlsDatabaseVerifyFlags" glib:get-type="g_tls_database_verify_flags_get_type" c:type="GTlsDatabaseVerifyFlags">
<doc xml:space="preserve">Flags for g_tls_database_verify_chain().</doc>
<member name="none" value="0" c:identifier="G_TLS_DATABASE_VERIFY_NONE" glib:nick="none">
<doc xml:space="preserve">#GTlsFileDatabase is implemented by #GTlsDatabase objects which load
their certificate information from a file. It is an interface which
TLS library specific subtypes implement.</doc>
-
<prerequisite name="TlsDatabase"/>
<function name="new" c:identifier="g_tls_file_database_new" version="2.30" throws="1">
<doc xml:space="preserve">Creates a new #GTlsFileDatabase which uses anchor certificate authorities
in @anchors to verify certificate chains.
The certificates in @anchors must be PEM encoded.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GTlsFileDatabase, or %NULL on error</doc>
</interface>
<record name="TlsFileDatabaseInterface" c:type="GTlsFileDatabaseInterface" glib:is-gtype-struct-for="TlsFileDatabase">
<doc xml:space="preserve">Provides an interface for #GTlsFileDatabase implementations.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
initialization function. Any interactions not implemented will return
%G_TLS_INTERACTION_UNHANDLED. If a derived class implements an async method,
it must also implement the corresponding finish method.</doc>
-
<virtual-method name="ask_password" invoker="ask_password" version="2.30" throws="1">
<doc xml:space="preserve">Run synchronous interaction to ask the user for a password. In general,
g_tls_interaction_invoke_ask_password() should be used instead of this
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the ask password interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
not support immediate cancellation.
Certain implementations may not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the interaction is cancelled by the cancellation object, or by the
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the ask password interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the request certificate interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
also choose to provide a certificate from elsewhere. @callback will be called
when the operation completes. Alternatively the user may abort this certificate
request, which will usually abort the TLS connection.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the interaction is cancelled by the cancellation object, or by the
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the request certificate interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the ask password interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
not support immediate cancellation.
Certain implementations may not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the interaction is cancelled by the cancellation object, or by the
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the ask password interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the ask password interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the certificate request interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code. Certain implementations may
not support immediate cancellation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the request certificate interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
also choose to provide a certificate from elsewhere. @callback will be called
when the operation completes. Alternatively the user may abort this certificate
request, which will usually abort the TLS connection.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If the interaction is cancelled by the cancellation object, or by the
user then %G_TLS_INTERACTION_FAILED will be returned with an error that
contains a %G_IO_ERROR_CANCELLED error code.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the request certificate interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
If the user cancels an interaction, then the result should be
%G_TLS_INTERACTION_FAILED and the error should be set with a domain of
%G_IO_ERROR and code of %G_IO_ERROR_CANCELLED.</doc>
-
<field name="parent_class" readable="0" private="1">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="ask_password">
<callback name="ask_password" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the ask password interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
</field>
<field name="ask_password_async">
<callback name="ask_password_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="ask_password_finish">
<callback name="ask_password_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the ask password interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
</field>
<field name="request_certificate">
<callback name="request_certificate" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the request certificate interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
</field>
<field name="request_certificate_async">
<callback name="request_certificate_async">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="request_certificate_finish">
<callback name="request_certificate_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The status of the request certificate interaction.</doc>
<type name="TlsInteractionResult" c:type="GTlsInteractionResult"/>
</array>
</field>
</record>
- <record name="TlsInteractionPrivate" c:type="GTlsInteractionPrivate" disguised="1">
-
- </record>
+ <record name="TlsInteractionPrivate" c:type="GTlsInteractionPrivate" disguised="1"/>
<enumeration name="TlsInteractionResult" version="2.30" glib:type-name="GTlsInteractionResult" glib:get-type="g_tls_interaction_result_get_type" c:type="GTlsInteractionResult">
<doc xml:space="preserve">#GTlsInteractionResult is returned by various functions in #GTlsInteraction
when finishing an interaction request.</doc>
</enumeration>
<class name="TlsPassword" c:symbol-prefix="tls_password" c:type="GTlsPassword" version="2.30" parent="GObject.Object" glib:type-name="GTlsPassword" glib:get-type="g_tls_password_get_type" glib:type-struct="TlsPasswordClass">
<doc xml:space="preserve">Holds a password used in TLS.</doc>
-
<constructor name="new" c:identifier="g_tls_password_new">
<doc xml:space="preserve">Create a new #GTlsPassword object.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">The newly allocated password object</doc>
<type name="TlsPassword" c:type="GTlsPassword*"/>
</parameters>
</constructor>
<virtual-method name="get_default_warning">
-
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
password value is not nul-terminated, so you can only pass %NULL
for @length in contexts where you know the password will have a
certain fixed length.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The password value (owned by the password object).</doc>
<type name="guint8" c:type="const guchar*"/>
@length if using a nul-terminated password, and @length will be
calculated automatically. (Note that the terminating nul is not
considered part of the password in this case.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<method name="get_description" c:identifier="g_tls_password_get_description" version="2.30">
<doc xml:space="preserve">Get a description string about what the password will be used for.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The description of the password.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_flags" c:identifier="g_tls_password_get_flags" version="2.30">
<doc xml:space="preserve">Get flags about the password.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The flags about the password.</doc>
<type name="TlsPasswordFlags" c:type="GTlsPasswordFlags"/>
password value is not nul-terminated, so you can only pass %NULL
for @length in contexts where you know the password will have a
certain fixed length.)</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The password value (owned by the password object).</doc>
<type name="guint8" c:type="const guchar*"/>
<doc xml:space="preserve">Get a user readable translated warning. Usually this warning is a
representation of the password flags returned from
g_tls_password_get_flags().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The warning.</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="set_description" c:identifier="g_tls_password_set_description" version="2.30">
<doc xml:space="preserve">Set a description string about what the password will be used for.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="set_flags" c:identifier="g_tls_password_set_flags" version="2.30">
<doc xml:space="preserve">Set flags about the password.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@length if using a nul-terminated password, and @length will be
calculated automatically. (Note that the terminating nul is not
considered part of the password in this case.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@length if using a nul-terminated password, and @length will be
calculated automatically. (Note that the terminating nul is not
considered part of the password in this case.)</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Set a user readable translated warning. Usually this warning is a
representation of the password flags returned from
g_tls_password_get_flags().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</class>
<record name="TlsPasswordClass" c:type="GTlsPasswordClass" glib:is-gtype-struct-for="TlsPassword">
<doc xml:space="preserve">Class structure for #GTlsPassword.</doc>
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="get_value">
<callback name="get_value">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The password value (owned by the password object).</doc>
<type name="guint8" c:type="const guchar*"/>
</field>
<field name="set_value">
<callback name="set_value">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get_default_warning">
<callback name="get_default_warning">
-
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
this password right.</doc>
</member>
</bitfield>
- <record name="TlsPasswordPrivate" c:type="GTlsPasswordPrivate" disguised="1">
-
- </record>
+ <record name="TlsPasswordPrivate" c:type="GTlsPasswordPrivate" disguised="1"/>
<enumeration name="TlsRehandshakeMode" version="2.28" deprecated="1" deprecated-version="2.60." glib:type-name="GTlsRehandshakeMode" glib:get-type="g_tls_rehandshake_mode_get_type" c:type="GTlsRehandshakeMode">
<doc xml:space="preserve">When to allow rehandshaking. See
g_tls_connection_set_rehandshake_mode().</doc>
<interface name="TlsServerConnection" c:symbol-prefix="tls_server_connection" c:type="GTlsServerConnection" version="2.28" glib:type-name="GTlsServerConnection" glib:get-type="g_tls_server_connection_get_type" glib:type-struct="TlsServerConnectionInterface">
<doc xml:space="preserve">#GTlsServerConnection is the server-side subclass of #GTlsConnection,
representing a server-side TLS connection.</doc>
-
<prerequisite name="TlsConnection"/>
<function name="new" c:identifier="g_tls_server_connection_new" version="2.28" throws="1">
<doc xml:space="preserve">Creates a new #GTlsServerConnection wrapping @base_io_stream (which
See the documentation for #GTlsConnection:base-io-stream for restrictions
on when application code can run operations on the @base_io_stream after
this function has returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GTlsServerConnection, or %NULL on error</doc>
</interface>
<record name="TlsServerConnectionInterface" c:type="GTlsServerConnectionInterface" glib:is-gtype-struct-for="TlsServerConnection" version="2.26">
<doc xml:space="preserve">vtable for a #GTlsServerConnection implementation.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
</record>
<function-macro name="UNIX_CONNECTION" c:identifier="G_UNIX_CONNECTION" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_CONNECTION_CLASS" c:identifier="G_UNIX_CONNECTION_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_CONNECTION_GET_CLASS" c:identifier="G_UNIX_CONNECTION_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_CREDENTIALS_MESSAGE" c:identifier="G_UNIX_CREDENTIALS_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_CREDENTIALS_MESSAGE_CLASS" c:identifier="G_UNIX_CREDENTIALS_MESSAGE_CLASS" introspectable="0">
-
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_CREDENTIALS_MESSAGE_GET_CLASS" c:identifier="G_UNIX_CREDENTIALS_MESSAGE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_FD_LIST" c:identifier="G_UNIX_FD_LIST" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_FD_LIST_CLASS" c:identifier="G_UNIX_FD_LIST_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_FD_LIST_GET_CLASS" c:identifier="G_UNIX_FD_LIST_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_FD_MESSAGE" c:identifier="G_UNIX_FD_MESSAGE" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_FD_MESSAGE_CLASS" c:identifier="G_UNIX_FD_MESSAGE_CLASS" introspectable="0">
-
<parameters>
<parameter name="class">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_FD_MESSAGE_GET_CLASS" c:identifier="G_UNIX_FD_MESSAGE_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_INPUT_STREAM" c:identifier="G_UNIX_INPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_INPUT_STREAM_CLASS" c:identifier="G_UNIX_INPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_INPUT_STREAM_GET_CLASS" c:identifier="G_UNIX_INPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_MOUNT_MONITOR" c:identifier="G_UNIX_MOUNT_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_MOUNT_MONITOR_CLASS" c:identifier="G_UNIX_MOUNT_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_OUTPUT_STREAM" c:identifier="G_UNIX_OUTPUT_STREAM" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_OUTPUT_STREAM_CLASS" c:identifier="G_UNIX_OUTPUT_STREAM_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_OUTPUT_STREAM_GET_CLASS" c:identifier="G_UNIX_OUTPUT_STREAM_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_SOCKET_ADDRESS" c:identifier="G_UNIX_SOCKET_ADDRESS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_SOCKET_ADDRESS_CLASS" c:identifier="G_UNIX_SOCKET_ADDRESS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="UNIX_SOCKET_ADDRESS_GET_CLASS" c:identifier="G_UNIX_SOCKET_ADDRESS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
Note that `<gio/gunixconnection.h>` belongs to the UNIX-specific
GIO interfaces, thus you have to use the `gio-unix-2.0.pc`
pkg-config file when using it.</doc>
-
<method name="receive_credentials" c:identifier="g_unix_connection_receive_credentials" version="2.26" throws="1">
<doc xml:space="preserve">Receives credentials from the sending end of the connection. The
sending end has to call g_unix_connection_send_credentials() (or
Other ways to exchange credentials with a foreign peer includes the
#GUnixCredentialsMessage type and g_socket_get_credentials() function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">Received credentials on success (free with
g_object_unref()), %NULL if @error is set.</doc>
When the operation is finished, @callback will be called. You can then call
g_unix_connection_receive_credentials_finish() to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="receive_credentials_finish" c:identifier="g_unix_connection_receive_credentials_finish" version="2.32" throws="1">
<doc xml:space="preserve">Finishes an asynchronous receive credentials operation started with
g_unix_connection_receive_credentials_async().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GCredentials, or %NULL on error.
Free the returned object with g_object_unref().</doc>
As well as reading the fd this also reads a single byte from the
stream, as this is required for fd passing to work on some
implementations.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a file descriptor on success, -1 on error.</doc>
<type name="gint" c:type="gint"/>
Other ways to exchange credentials with a foreign peer includes the
#GUnixCredentialsMessage type and g_socket_get_credentials() function.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
When the operation is finished, @callback will be called. You can then call
g_unix_connection_send_credentials_finish() to get the result of the operation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="send_credentials_finish" c:identifier="g_unix_connection_send_credentials_finish" version="2.32" throws="1">
<doc xml:space="preserve">Finishes an asynchronous send credentials operation started with
g_unix_connection_send_credentials_async().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the operation was successful, otherwise %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
As well as sending the fd this also writes a single byte to the
stream, as this is required for fd passing to work on some
implementations.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %TRUE on success, %NULL on error.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="UnixConnectionClass" c:type="GUnixConnectionClass" glib:is-gtype-struct-for="UnixConnection">
-
<field name="parent_class">
<type name="SocketConnectionClass" c:type="GSocketConnectionClass"/>
</field>
</record>
- <record name="UnixConnectionPrivate" c:type="GUnixConnectionPrivate" disguised="1">
-
- </record>
+ <record name="UnixConnectionPrivate" c:type="GUnixConnectionPrivate" disguised="1"/>
<class name="UnixCredentialsMessage" c:symbol-prefix="unix_credentials_message" c:type="GUnixCredentialsMessage" version="2.26" parent="SocketControlMessage" glib:type-name="GUnixCredentialsMessage" glib:get-type="g_unix_credentials_message_get_type" glib:type-struct="UnixCredentialsMessageClass">
<doc xml:space="preserve">This #GSocketControlMessage contains a #GCredentials instance. It
may be sent using g_socket_send_message() and received using
g_unix_connection_receive_credentials(). To receive credentials of
a foreign process connected to a socket, use
g_socket_get_credentials().</doc>
-
<constructor name="new" c:identifier="g_unix_credentials_message_new" version="2.26">
<doc xml:space="preserve">Creates a new #GUnixCredentialsMessage with credentials matching the current processes.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixCredentialsMessage</doc>
<type name="SocketControlMessage" c:type="GSocketControlMessage*"/>
</constructor>
<constructor name="new_with_credentials" c:identifier="g_unix_credentials_message_new_with_credentials" version="2.26">
<doc xml:space="preserve">Creates a new #GUnixCredentialsMessage holding @credentials.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixCredentialsMessage</doc>
<type name="SocketControlMessage" c:type="GSocketControlMessage*"/>
</constructor>
<function name="is_supported" c:identifier="g_unix_credentials_message_is_supported" version="2.26">
<doc xml:space="preserve">Checks if passing #GCredentials on a #GSocket is supported on this platform.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if supported, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<method name="get_credentials" c:identifier="g_unix_credentials_message_get_credentials" version="2.26">
<doc xml:space="preserve">Gets the credentials stored in @message.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">A #GCredentials instance. Do not free, it is owned by @message.</doc>
<type name="Credentials" c:type="GCredentials*"/>
</class>
<record name="UnixCredentialsMessageClass" c:type="GUnixCredentialsMessageClass" glib:is-gtype-struct-for="UnixCredentialsMessage" version="2.26">
<doc xml:space="preserve">Class structure for #GUnixCredentialsMessage.</doc>
-
<field name="parent_class">
<type name="SocketControlMessageClass" c:type="GSocketControlMessageClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="UnixCredentialsMessagePrivate" c:type="GUnixCredentialsMessagePrivate" disguised="1">
-
- </record>
+ <record name="UnixCredentialsMessagePrivate" c:type="GUnixCredentialsMessagePrivate" disguised="1"/>
<class name="UnixFDList" c:symbol-prefix="unix_fd_list" c:type="GUnixFDList" parent="GObject.Object" glib:type-name="GUnixFDList" glib:get-type="g_unix_fd_list_get_type" glib:type-struct="UnixFDListClass">
<doc xml:space="preserve">A #GUnixFDList contains a list of file descriptors. It owns the file
descriptors that it contains, closing them when finalized.
Note that `<gio/gunixfdlist.h>` belongs to the UNIX-specific GIO
interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config
file when using it.</doc>
-
<constructor name="new" c:identifier="g_unix_fd_list_new" version="2.24">
<doc xml:space="preserve">Creates a new #GUnixFDList containing no file descriptors.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixFDList</doc>
<type name="UnixFDList" c:type="GUnixFDList*"/>
Each file descriptor in the array should be set to close-on-exec.
If @n_fds is -1 then @fds must be terminated with -1.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixFDList</doc>
<type name="UnixFDList" c:type="GUnixFDList*"/>
The index of the file descriptor in the list is returned. If you use
this index with g_unix_fd_list_get() then you will receive back a
duplicated copy of the same file descriptor.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the index of the appended fd in case of success, else -1
(and @error is set)</doc>
A possible cause of failure is exceeding the per-process or
system-wide file descriptor limit.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the file descriptor, or -1 in case of error</doc>
<type name="gint" c:type="gint"/>
<method name="get_length" c:identifier="g_unix_fd_list_get_length" version="2.24">
<doc xml:space="preserve">Gets the length of @list (ie: the number of file descriptors
contained within).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of @list</doc>
<type name="gint" c:type="gint"/>
This function never returns %NULL. In case there are no file
descriptors contained in @list, an empty array is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an array of file
descriptors</doc>
This function never returns %NULL. In case there are no file
descriptors contained in @list, an empty array is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an array of file
descriptors</doc>
</field>
</class>
<record name="UnixFDListClass" c:type="GUnixFDListClass" glib:is-gtype-struct-for="UnixFDList">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="UnixFDListPrivate" c:type="GUnixFDListPrivate" disguised="1">
-
- </record>
+ <record name="UnixFDListPrivate" c:type="GUnixFDListPrivate" disguised="1"/>
<class name="UnixFDMessage" c:symbol-prefix="unix_fd_message" c:type="GUnixFDMessage" parent="SocketControlMessage" glib:type-name="GUnixFDMessage" glib:get-type="g_unix_fd_message_get_type" glib:type-struct="UnixFDMessageClass">
<doc xml:space="preserve">This #GSocketControlMessage contains a #GUnixFDList.
It may be sent using g_socket_send_message() and received using
Note that `<gio/gunixfdmessage.h>` belongs to the UNIX-specific GIO
interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config
file when using it.</doc>
-
<constructor name="new" c:identifier="g_unix_fd_message_new" version="2.22">
<doc xml:space="preserve">Creates a new #GUnixFDMessage containing an empty file descriptor
list.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixFDMessage</doc>
<type name="SocketControlMessage" c:type="GSocketControlMessage*"/>
</constructor>
<constructor name="new_with_fd_list" c:identifier="g_unix_fd_message_new_with_fd_list" version="2.24">
<doc xml:space="preserve">Creates a new #GUnixFDMessage containing @list.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixFDMessage</doc>
<type name="SocketControlMessage" c:type="GSocketControlMessage*"/>
A possible cause of failure is exceeding the per-process or
system-wide file descriptor limit.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE in case of success, else %FALSE (and @error is set)</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Gets the #GUnixFDList contained in @message. This function does not
return a reference to the caller, but the returned list is valid for
the lifetime of @message.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GUnixFDList from @message</doc>
<type name="UnixFDList" c:type="GUnixFDList*"/>
This function never returns %NULL. In case there are no file
descriptors contained in @message, an empty array is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an array of file
descriptors</doc>
</field>
</class>
<record name="UnixFDMessageClass" c:type="GUnixFDMessageClass" glib:is-gtype-struct-for="UnixFDMessage">
-
<field name="parent_class">
<type name="SocketControlMessageClass" c:type="GSocketControlMessageClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="UnixFDMessagePrivate" c:type="GUnixFDMessagePrivate" disguised="1">
-
- </record>
+ <record name="UnixFDMessagePrivate" c:type="GUnixFDMessagePrivate" disguised="1"/>
<class name="UnixInputStream" c:symbol-prefix="unix_input_stream" c:type="GUnixInputStream" parent="InputStream" glib:type-name="GUnixInputStream" glib:get-type="g_unix_input_stream_get_type" glib:type-struct="UnixInputStreamClass">
<doc xml:space="preserve">#GUnixInputStream implements #GInputStream for reading from a UNIX
file descriptor, including asynchronous operations. (If the file
Note that `<gio/gunixinputstream.h>` belongs to the UNIX-specific GIO
interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config
file when using it.</doc>
-
<implements name="FileDescriptorBased"/>
<implements name="PollableInputStream"/>
<constructor name="new" c:identifier="g_unix_input_stream_new">
If @close_fd is %TRUE, the file descriptor will be closed
when the stream is closed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixInputStream</doc>
<type name="InputStream" c:type="GInputStream*"/>
<method name="get_close_fd" c:identifier="g_unix_input_stream_get_close_fd" version="2.20">
<doc xml:space="preserve">Returns whether the file descriptor of @stream will be
closed when the stream is closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file descriptor is closed when done</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_fd" c:identifier="g_unix_input_stream_get_fd" version="2.20">
<doc xml:space="preserve">Return the UNIX file descriptor that the stream reads from.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The file descriptor of @stream</doc>
<type name="gint" c:type="gint"/>
<method name="set_close_fd" c:identifier="g_unix_input_stream_set_close_fd" version="2.20">
<doc xml:space="preserve">Sets whether the file descriptor of @stream shall be closed
when the stream is closed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="UnixInputStreamClass" c:type="GUnixInputStreamClass" glib:is-gtype-struct-for="UnixInputStream">
-
<field name="parent_class">
<type name="InputStreamClass" c:type="GInputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="UnixInputStreamPrivate" c:type="GUnixInputStreamPrivate" disguised="1">
-
- </record>
+ <record name="UnixInputStreamPrivate" c:type="GUnixInputStreamPrivate" disguised="1"/>
<record name="UnixMountEntry" c:type="GUnixMountEntry" glib:type-name="GUnixMountEntry" glib:get-type="g_unix_mount_entry_get_type" c:symbol-prefix="unix_mount_entry">
<doc xml:space="preserve">Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>).
This corresponds roughly to a mtab entry.</doc>
-
</record>
<class name="UnixMountMonitor" c:symbol-prefix="unix_mount_monitor" c:type="GUnixMountMonitor" parent="GObject.Object" glib:type-name="GUnixMountMonitor" glib:get-type="g_unix_mount_monitor_get_type" glib:type-struct="UnixMountMonitorClass">
<doc xml:space="preserve">Watches #GUnixMounts for changes.</doc>
-
<constructor name="new" c:identifier="g_unix_mount_monitor_new" deprecated="1" deprecated-version="2.44">
<doc xml:space="preserve">Deprecated alias for g_unix_mount_monitor_get().
This function was never a true constructor, which is why it was
renamed.</doc>
<doc-deprecated xml:space="preserve">Use g_unix_mount_monitor_get() instead.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GUnixMountMonitor.</doc>
<type name="UnixMountMonitor" c:type="GUnixMountMonitor*"/>
You must only call g_object_unref() on the return value from under
the same main context as you called this function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GUnixMountMonitor.</doc>
<type name="UnixMountMonitor" c:type="GUnixMountMonitor*"/>
that calling this function would have side effects for other users of
the monitor.</doc>
<doc-deprecated xml:space="preserve">This function does nothing. Don't call it.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</return-value>
</glib:signal>
</class>
- <record name="UnixMountMonitorClass" c:type="GUnixMountMonitorClass" disguised="1" glib:is-gtype-struct-for="UnixMountMonitor">
-
- </record>
+ <record name="UnixMountMonitorClass" c:type="GUnixMountMonitorClass" disguised="1" glib:is-gtype-struct-for="UnixMountMonitor"/>
<record name="UnixMountPoint" c:type="GUnixMountPoint" glib:type-name="GUnixMountPoint" glib:get-type="g_unix_mount_point_get_type" c:symbol-prefix="unix_mount_point">
<doc xml:space="preserve">Defines a Unix mount point (e.g. <filename>/dev</filename>).
This corresponds roughly to a fstab entry.</doc>
-
<method name="compare" c:identifier="g_unix_mount_point_compare">
<doc xml:space="preserve">Compares two unix mount points.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">1, 0 or -1 if @mount1 is greater than, equal to,
or less than @mount2, respectively.</doc>
</method>
<method name="copy" c:identifier="g_unix_mount_point_copy" version="2.54">
<doc xml:space="preserve">Makes a copy of @mount_point.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixMountPoint</doc>
<type name="UnixMountPoint" c:type="GUnixMountPoint*"/>
</method>
<method name="free" c:identifier="g_unix_mount_point_free">
<doc xml:space="preserve">Frees a unix mount point.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</method>
<method name="get_device_path" c:identifier="g_unix_mount_point_get_device_path">
<doc xml:space="preserve">Gets the device path for a unix mount point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the device path.</doc>
<type name="filename" c:type="const char*"/>
</method>
<method name="get_fs_type" c:identifier="g_unix_mount_point_get_fs_type">
<doc xml:space="preserve">Gets the file system type for the mount point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the file system type.</doc>
<type name="utf8" c:type="const char*"/>
</method>
<method name="get_mount_path" c:identifier="g_unix_mount_point_get_mount_path">
<doc xml:space="preserve">Gets the mount path for a unix mount point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the mount path.</doc>
<type name="filename" c:type="const char*"/>
</method>
<method name="get_options" c:identifier="g_unix_mount_point_get_options" version="2.32">
<doc xml:space="preserve">Gets the options for the mount point.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the options.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</method>
<method name="guess_can_eject" c:identifier="g_unix_mount_point_guess_can_eject">
<doc xml:space="preserve">Guesses whether a Unix mount point can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mount_point is deemed to be ejectable.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="guess_icon" c:identifier="g_unix_mount_point_guess_icon">
<doc xml:space="preserve">Guesses the icon of a Unix mount point.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon</doc>
<type name="Icon" c:type="GIcon*"/>
<method name="guess_name" c:identifier="g_unix_mount_point_guess_name">
<doc xml:space="preserve">Guesses the name of a Unix mount point.
The result is a translated string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly allocated string that must
be freed with g_free()</doc>
</method>
<method name="guess_symbolic_icon" c:identifier="g_unix_mount_point_guess_symbolic_icon" version="2.34">
<doc xml:space="preserve">Guesses the symbolic icon of a Unix mount point.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon</doc>
<type name="Icon" c:type="GIcon*"/>
</method>
<method name="is_loopback" c:identifier="g_unix_mount_point_is_loopback">
<doc xml:space="preserve">Checks if a unix mount point is a loopback device.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount point is a loopback. %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_readonly" c:identifier="g_unix_mount_point_is_readonly">
<doc xml:space="preserve">Checks if a unix mount point is read only.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if a mount point is read only.</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="is_user_mountable" c:identifier="g_unix_mount_point_is_user_mountable">
<doc xml:space="preserve">Checks if a unix mount point is mountable by the user.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount point is user mountable.</doc>
<type name="gboolean" c:type="gboolean"/>
If more mount points have the same mount path, the last matching mount point
is returned.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GUnixMountPoint, or %NULL if no match
is found.</doc>
Note that `<gio/gunixoutputstream.h>` belongs to the UNIX-specific GIO
interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file
when using it.</doc>
-
<implements name="FileDescriptorBased"/>
<implements name="PollableOutputStream"/>
<constructor name="new" c:identifier="g_unix_output_stream_new">
If @close_fd, is %TRUE, the file descriptor will be closed when
the output stream is destroyed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GOutputStream</doc>
<type name="OutputStream" c:type="GOutputStream*"/>
<method name="get_close_fd" c:identifier="g_unix_output_stream_get_close_fd" version="2.20">
<doc xml:space="preserve">Returns whether the file descriptor of @stream will be
closed when the stream is closed.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file descriptor is closed when done</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="get_fd" c:identifier="g_unix_output_stream_get_fd" version="2.20">
<doc xml:space="preserve">Return the UNIX file descriptor that the stream writes to.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">The file descriptor of @stream</doc>
<type name="gint" c:type="gint"/>
<method name="set_close_fd" c:identifier="g_unix_output_stream_set_close_fd" version="2.20">
<doc xml:space="preserve">Sets whether the file descriptor of @stream shall be closed
when the stream is closed.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</class>
<record name="UnixOutputStreamClass" c:type="GUnixOutputStreamClass" glib:is-gtype-struct-for="UnixOutputStream">
-
<field name="parent_class">
<type name="OutputStreamClass" c:type="GOutputStreamClass"/>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</callback>
</field>
</record>
- <record name="UnixOutputStreamPrivate" c:type="GUnixOutputStreamPrivate" disguised="1">
-
- </record>
+ <record name="UnixOutputStreamPrivate" c:type="GUnixOutputStreamPrivate" disguised="1"/>
<class name="UnixSocketAddress" c:symbol-prefix="unix_socket_address" c:type="GUnixSocketAddress" parent="SocketAddress" glib:type-name="GUnixSocketAddress" glib:get-type="g_unix_socket_address_get_type" glib:type-struct="UnixSocketAddressClass">
<doc xml:space="preserve">Support for UNIX-domain (also known as local) sockets.
Note that `<gio/gunixsocketaddress.h>` belongs to the UNIX-specific GIO
interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file
when using it.</doc>
-
<implements name="SocketConnectable"/>
<constructor name="new" c:identifier="g_unix_socket_address_new" version="2.22">
<doc xml:space="preserve">Creates a new #GUnixSocketAddress for @path.
To create abstract socket addresses, on systems that support that,
use g_unix_socket_address_new_abstract().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixSocketAddress</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
<doc xml:space="preserve">Creates a new %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
#GUnixSocketAddress for @path.</doc>
<doc-deprecated xml:space="preserve">Use g_unix_socket_address_new_with_type().</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixSocketAddress</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
when connecting to a server created by another process, you must
use the appropriate type corresponding to how that process created
its listening socket.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixSocketAddress</doc>
<type name="SocketAddress" c:type="GSocketAddress*"/>
</constructor>
<function name="abstract_names_supported" c:identifier="g_unix_socket_address_abstract_names_supported" version="2.22">
<doc xml:space="preserve">Checks if abstract UNIX domain socket names are supported.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if supported, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<method name="get_address_type" c:identifier="g_unix_socket_address_get_address_type" version="2.26">
<doc xml:space="preserve">Gets @address's type.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GUnixSocketAddressType</doc>
<type name="UnixSocketAddressType" c:type="GUnixSocketAddressType"/>
<method name="get_is_abstract" c:identifier="g_unix_socket_address_get_is_abstract" version="2.22" deprecated="1">
<doc xml:space="preserve">Tests if @address is abstract.</doc>
<doc-deprecated xml:space="preserve">Use g_unix_socket_address_get_address_type()</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the address is abstract, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
may contain embedded zeros, and thus you should use
g_unix_socket_address_get_path_len() to get the true length
of this string.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the path for @address</doc>
<type name="utf8" c:type="const char*"/>
<doc xml:space="preserve">Gets the length of @address's path.
For details, see g_unix_socket_address_get_path().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the length of the path</doc>
<type name="gsize" c:type="gsize"/>
</field>
</class>
<record name="UnixSocketAddressClass" c:type="GUnixSocketAddressClass" glib:is-gtype-struct-for="UnixSocketAddress">
-
<field name="parent_class">
<type name="SocketAddressClass" c:type="GSocketAddressClass"/>
</field>
</record>
- <record name="UnixSocketAddressPrivate" c:type="GUnixSocketAddressPrivate" disguised="1">
-
- </record>
+ <record name="UnixSocketAddressPrivate" c:type="GUnixSocketAddressPrivate" disguised="1"/>
<enumeration name="UnixSocketAddressType" version="2.26" glib:type-name="GUnixSocketAddressType" glib:get-type="g_unix_socket_address_type_get_type" c:type="GUnixSocketAddressType">
<doc xml:space="preserve">The type of name used by a #GUnixSocketAddress.
%G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain
</member>
</enumeration>
<function-macro name="VFS" c:identifier="G_VFS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="VFS_CLASS" c:identifier="G_VFS_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
<constant name="VFS_EXTENSION_POINT_NAME" value="gio-vfs" c:type="G_VFS_EXTENSION_POINT_NAME">
<doc xml:space="preserve">Extension point for #GVfs functionality.
See [Extending GIO][extending-gio].</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="VFS_GET_CLASS" c:identifier="G_VFS_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="VOLUME" c:identifier="G_VOLUME" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VOLUME_GET_IFACE" c:identifier="G_VOLUME_GET_IFACE" introspectable="0">
-
<parameters>
<parameter name="obj">
</parameter>
instances into different sections - for example a file manager or
file chooser can use this information to show `network` volumes under
a "Network" heading and `device` volumes under a "Devices" heading.</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VOLUME_IDENTIFIER_KIND_HAL_UDI" value="hal-udi" c:type="G_VOLUME_IDENTIFIER_KIND_HAL_UDI" deprecated="1" deprecated-version="2.58">
<doc xml:space="preserve">The string used to obtain a Hal UDI with g_volume_get_identifier().</doc>
<doc-deprecated xml:space="preserve">Do not use, HAL is deprecated.</doc-deprecated>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VOLUME_IDENTIFIER_KIND_LABEL" value="label" c:type="G_VOLUME_IDENTIFIER_KIND_LABEL">
<doc xml:space="preserve">The string used to obtain a filesystem label with g_volume_get_identifier().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VOLUME_IDENTIFIER_KIND_NFS_MOUNT" value="nfs-mount" c:type="G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT">
<doc xml:space="preserve">The string used to obtain a NFS mount with g_volume_get_identifier().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VOLUME_IDENTIFIER_KIND_UNIX_DEVICE" value="unix-device" c:type="G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE">
<doc xml:space="preserve">The string used to obtain a Unix device path with g_volume_get_identifier().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VOLUME_IDENTIFIER_KIND_UUID" value="uuid" c:type="G_VOLUME_IDENTIFIER_KIND_UUID">
<doc xml:space="preserve">The string used to obtain a UUID with g_volume_get_identifier().</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="VOLUME_MONITOR" c:identifier="G_VOLUME_MONITOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="VOLUME_MONITOR_CLASS" c:identifier="G_VOLUME_MONITOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
<constant name="VOLUME_MONITOR_EXTENSION_POINT_NAME" value="gio-volume-monitor" c:type="G_VOLUME_MONITOR_EXTENSION_POINT_NAME">
<doc xml:space="preserve">Extension point for volume monitor functionality.
See [Extending GIO][extending-gio].</doc>
-
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="VOLUME_MONITOR_GET_CLASS" c:identifier="G_VOLUME_MONITOR_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</function-macro>
<class name="Vfs" c:symbol-prefix="vfs" c:type="GVfs" parent="GObject.Object" glib:type-name="GVfs" glib:get-type="g_vfs_get_type" glib:type-struct="VfsClass">
<doc xml:space="preserve">Entry point for using GIO functionality.</doc>
-
<function name="get_default" c:identifier="g_vfs_get_default">
<doc xml:space="preserve">Gets the default #GVfs for the system.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GVfs.</doc>
+ <doc xml:space="preserve">a #GVfs, which will be the local
+ file system #GVfs if no other implementation is available.</doc>
<type name="Vfs" c:type="GVfs*"/>
</return-value>
</function>
<function name="get_local" c:identifier="g_vfs_get_local">
<doc xml:space="preserve">Gets the local #GVfs for the system.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GVfs.</doc>
<type name="Vfs" c:type="GVfs*"/>
</return-value>
</function>
<virtual-method name="add_writable_namespaces">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="deserialize_icon" introspectable="0">
-
<return-value>
<type name="Icon" c:type="GIcon*"/>
</return-value>
</virtual-method>
<virtual-method name="get_file_for_path" invoker="get_file_for_path">
<doc xml:space="preserve">Gets a #GFile for @path.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
Free the returned object with g_object_unref().</doc>
This operation never fails, but the returned object
might not support any I/O operation if the URI
is malformed or if the URI scheme is not supported.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
Free the returned object with g_object_unref().</doc>
</virtual-method>
<virtual-method name="get_supported_uri_schemes" invoker="get_supported_uri_schemes">
<doc xml:space="preserve">Gets a list of URI schemes supported by @vfs.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %NULL-terminated array of strings.
The returned array belongs to GIO and must
</virtual-method>
<virtual-method name="is_active" invoker="is_active">
<doc xml:space="preserve">Checks if the VFS is active.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if construction of the @vfs was successful
and it is now active.</doc>
</parameters>
</virtual-method>
<virtual-method name="local_file_add_info">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="local_file_moved">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="local_file_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="local_file_set_attributes" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<doc xml:space="preserve">This operation never fails, but the returned object might
not support any I/O operations if the @parse_name cannot
be parsed by the #GVfs module.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile for the given @parse_name.
Free the returned object with g_object_unref().</doc>
</virtual-method>
<method name="get_file_for_path" c:identifier="g_vfs_get_file_for_path">
<doc xml:space="preserve">Gets a #GFile for @path.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
Free the returned object with g_object_unref().</doc>
This operation never fails, but the returned object
might not support any I/O operation if the URI
is malformed or if the URI scheme is not supported.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
Free the returned object with g_object_unref().</doc>
</method>
<method name="get_supported_uri_schemes" c:identifier="g_vfs_get_supported_uri_schemes">
<doc xml:space="preserve">Gets a list of URI schemes supported by @vfs.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %NULL-terminated array of strings.
The returned array belongs to GIO and must
</method>
<method name="is_active" c:identifier="g_vfs_is_active">
<doc xml:space="preserve">Checks if the VFS is active.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if construction of the @vfs was successful
and it is now active.</doc>
<doc xml:space="preserve">This operation never fails, but the returned object might
not support any I/O operations if the @parse_name cannot
be parsed by the #GVfs module.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile for the given @parse_name.
Free the returned object with g_object_unref().</doc>
It's an error to call this function twice with the same scheme. To unregister
a custom URI scheme, use g_vfs_unregister_uri_scheme().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @scheme was successfully registered, or %FALSE if a handler
for @scheme already exists.</doc>
<method name="unregister_uri_scheme" c:identifier="g_vfs_unregister_uri_scheme" version="2.50">
<doc xml:space="preserve">Unregisters the URI handler for @scheme previously registered with
g_vfs_register_uri_scheme().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @scheme was successfully unregistered, or %FALSE if a
handler for @scheme does not exist.</doc>
</field>
</class>
<record name="VfsClass" c:type="GVfsClass" glib:is-gtype-struct-for="Vfs">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="is_active">
<callback name="is_active">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if construction of the @vfs was successful
and it is now active.</doc>
</field>
<field name="get_file_for_path">
<callback name="get_file_for_path">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
Free the returned object with g_object_unref().</doc>
</field>
<field name="get_file_for_uri">
<callback name="get_file_for_uri">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile.
Free the returned object with g_object_unref().</doc>
</field>
<field name="get_supported_uri_schemes">
<callback name="get_supported_uri_schemes">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a %NULL-terminated array of strings.
The returned array belongs to GIO and must
</field>
<field name="parse_name">
<callback name="parse_name">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile for the given @parse_name.
Free the returned object with g_object_unref().</doc>
</field>
<field name="local_file_add_info">
<callback name="local_file_add_info">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="add_writable_namespaces">
<callback name="add_writable_namespaces">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="local_file_set_attributes">
<callback name="local_file_set_attributes" throws="1">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="local_file_removed">
<callback name="local_file_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="local_file_moved">
<callback name="local_file_moved">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="deserialize_icon" introspectable="0">
<callback name="deserialize_icon" introspectable="0">
-
<return-value>
<type name="Icon" c:type="GIcon*"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The client should return a reference to the new file that has been
created for @uri, or %NULL to continue with the default implementation.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GFile for @identifier.</doc>
<type name="File" c:type="GFile*"/>
will generally be able to provide the #G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE
identifier, which can be used to obtain a hal device by means of
libhal_manager_find_device_string_match().</doc>
-
<virtual-method name="can_eject" invoker="can_eject">
<doc xml:space="preserve">Checks if a volume can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @volume can be ejected. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<virtual-method name="can_mount" invoker="can_mount">
<doc xml:space="preserve">Checks if a volume can be mounted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @volume can be mounted. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</parameters>
</virtual-method>
<virtual-method name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
finished by calling g_volume_eject_finish() with the @volume
and #GAsyncResult returned in the @callback.</doc>
<doc-deprecated xml:space="preserve">Use g_volume_eject_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finishes ejecting a volume. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_volume_eject_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, %FALSE if operation failed</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Ejects a volume. This is an asynchronous operation, and is
finished by calling g_volume_eject_with_operation_finish() with the @volume
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<virtual-method name="eject_with_operation_finish" invoker="eject_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a volume. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the volume was successfully ejected. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<virtual-method name="enumerate_identifiers" invoker="enumerate_identifiers">
<doc xml:space="preserve">Gets the kinds of [identifiers][volume-identifier] that @volume has.
Use g_volume_get_identifier() to obtain the identifiers themselves.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array
of strings containing kinds of identifiers. Use g_strfreev() to free.</doc>
Activation roots are typically used in #GVolumeMonitor
implementations to find the underlying mount to shadow, see
g_mount_is_shadowed() for more details.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the activation root of @volume
or %NULL. Use g_object_unref() to free.</doc>
</virtual-method>
<virtual-method name="get_drive" invoker="get_drive">
<doc xml:space="preserve">Gets the drive for the @volume.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDrive or %NULL if @volume is not
associated with a drive. The returned object should be unreffed
</virtual-method>
<virtual-method name="get_icon" invoker="get_icon">
<doc xml:space="preserve">Gets the icon for @volume.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with g_object_unref()
<doc xml:space="preserve">Gets the identifier of the given kind for @volume.
See the [introduction][volume-identifier] for more
information about volume identifiers.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
requested identifier, or %NULL if the #GVolume
</virtual-method>
<virtual-method name="get_mount" invoker="get_mount">
<doc xml:space="preserve">Gets the mount for the @volume.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GMount or %NULL if @volume isn't mounted.
The returned object should be unreffed with g_object_unref()
</virtual-method>
<virtual-method name="get_name" invoker="get_name">
<doc xml:space="preserve">Gets the name of @volume.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the name for the given @volume. The returned string should
be freed with g_free() when no longer needed.</doc>
</virtual-method>
<virtual-method name="get_sort_key" invoker="get_sort_key" version="2.32">
<doc xml:space="preserve">Gets the sort key for @volume, if any.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @volume or %NULL if no such key is available</doc>
<type name="utf8" c:type="const gchar*"/>
</virtual-method>
<virtual-method name="get_symbolic_icon" invoker="get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the symbolic icon for @volume.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with g_object_unref()
the file system UUID for the volume in question and should be
considered an opaque string. Returns %NULL if there is no UUID
available.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the UUID for @volume or %NULL if no UUID
can be computed.
is guaranteed to return the mount right after calling this
function; there's no need to listen for the 'mount-added' signal on
#GVolumeMonitor.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, %FALSE if operation failed</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Mounts a volume. This is an asynchronous operation, and is
finished by calling g_volume_mount_finish() with the @volume
and #GAsyncResult returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</virtual-method>
<virtual-method name="should_automount" invoker="should_automount">
<doc xml:space="preserve">Returns whether the volume should be automatically mounted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the volume should be automatically mounted</doc>
<type name="gboolean" c:type="gboolean"/>
</virtual-method>
<method name="can_eject" c:identifier="g_volume_can_eject">
<doc xml:space="preserve">Checks if a volume can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @volume can be ejected. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="can_mount" c:identifier="g_volume_can_mount">
<doc xml:space="preserve">Checks if a volume can be mounted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @volume can be mounted. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
finished by calling g_volume_eject_finish() with the @volume
and #GAsyncResult returned in the @callback.</doc>
<doc-deprecated xml:space="preserve">Use g_volume_eject_with_operation() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Finishes ejecting a volume. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
<doc-deprecated xml:space="preserve">Use g_volume_eject_with_operation_finish() instead.</doc-deprecated>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, %FALSE if operation failed</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:space="preserve">Ejects a volume. This is an asynchronous operation, and is
finished by calling g_volume_eject_with_operation_finish() with the @volume
and #GAsyncResult data returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<method name="eject_with_operation_finish" c:identifier="g_volume_eject_with_operation_finish" version="2.22" throws="1">
<doc xml:space="preserve">Finishes ejecting a volume. If any errors occurred during the operation,
@error will be set to contain the errors and %FALSE will be returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the volume was successfully ejected. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
<method name="enumerate_identifiers" c:identifier="g_volume_enumerate_identifiers">
<doc xml:space="preserve">Gets the kinds of [identifiers][volume-identifier] that @volume has.
Use g_volume_get_identifier() to obtain the identifiers themselves.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array
of strings containing kinds of identifiers. Use g_strfreev() to free.</doc>
Activation roots are typically used in #GVolumeMonitor
implementations to find the underlying mount to shadow, see
g_mount_is_shadowed() for more details.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the activation root of @volume
or %NULL. Use g_object_unref() to free.</doc>
</method>
<method name="get_drive" c:identifier="g_volume_get_drive">
<doc xml:space="preserve">Gets the drive for the @volume.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDrive or %NULL if @volume is not
associated with a drive. The returned object should be unreffed
</method>
<method name="get_icon" c:identifier="g_volume_get_icon">
<doc xml:space="preserve">Gets the icon for @volume.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with g_object_unref()
<doc xml:space="preserve">Gets the identifier of the given kind for @volume.
See the [introduction][volume-identifier] for more
information about volume identifiers.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
requested identifier, or %NULL if the #GVolume
</method>
<method name="get_mount" c:identifier="g_volume_get_mount">
<doc xml:space="preserve">Gets the mount for the @volume.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GMount or %NULL if @volume isn't mounted.
The returned object should be unreffed with g_object_unref()
</method>
<method name="get_name" c:identifier="g_volume_get_name">
<doc xml:space="preserve">Gets the name of @volume.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the name for the given @volume. The returned string should
be freed with g_free() when no longer needed.</doc>
</method>
<method name="get_sort_key" c:identifier="g_volume_get_sort_key" version="2.32">
<doc xml:space="preserve">Gets the sort key for @volume, if any.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @volume or %NULL if no such key is available</doc>
<type name="utf8" c:type="const gchar*"/>
</method>
<method name="get_symbolic_icon" c:identifier="g_volume_get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the symbolic icon for @volume.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with g_object_unref()
the file system UUID for the volume in question and should be
considered an opaque string. Returns %NULL if there is no UUID
available.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the UUID for @volume or %NULL if no UUID
can be computed.
<doc xml:space="preserve">Mounts a volume. This is an asynchronous operation, and is
finished by calling g_volume_mount_finish() with the @volume
and #GAsyncResult returned in the @callback.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
is guaranteed to return the mount right after calling this
function; there's no need to listen for the 'mount-added' signal on
#GVolumeMonitor.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, %FALSE if operation failed</doc>
<type name="gboolean" c:type="gboolean"/>
</method>
<method name="should_automount" c:identifier="g_volume_should_automount">
<doc xml:space="preserve">Returns whether the volume should be automatically mounted.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the volume should be automatically mounted</doc>
<type name="gboolean" c:type="gboolean"/>
</interface>
<record name="VolumeIface" c:type="GVolumeIface" glib:is-gtype-struct-for="Volume">
<doc xml:space="preserve">Interface for implementing operations for mountable volumes.</doc>
-
<field name="g_iface">
<doc xml:space="preserve">The parent interface.</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="changed">
<callback name="changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="removed">
<callback name="removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="get_name">
<callback name="get_name">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the name for the given @volume. The returned string should
be freed with g_free() when no longer needed.</doc>
</field>
<field name="get_icon">
<callback name="get_icon">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with g_object_unref()
</field>
<field name="get_uuid">
<callback name="get_uuid">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the UUID for @volume or %NULL if no UUID
can be computed.
</field>
<field name="get_drive">
<callback name="get_drive">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GDrive or %NULL if @volume is not
associated with a drive. The returned object should be unreffed
</field>
<field name="get_mount">
<callback name="get_mount">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GMount or %NULL if @volume isn't mounted.
The returned object should be unreffed with g_object_unref()
</field>
<field name="can_mount">
<callback name="can_mount">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @volume can be mounted. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="can_eject">
<callback name="can_eject">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the @volume can be ejected. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="mount_fn">
<callback name="mount_fn">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_finish">
<callback name="mount_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, %FALSE if operation failed</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="eject">
<callback name="eject">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_finish">
<callback name="eject_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE, %FALSE if operation failed</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_identifier">
<callback name="get_identifier">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a newly allocated string containing the
requested identifier, or %NULL if the #GVolume
</field>
<field name="enumerate_identifiers">
<callback name="enumerate_identifiers">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a %NULL-terminated array
of strings containing kinds of identifiers. Use g_strfreev() to free.</doc>
</field>
<field name="should_automount">
<callback name="should_automount">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the volume should be automatically mounted</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_activation_root">
<callback name="get_activation_root">
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the activation root of @volume
or %NULL. Use g_object_unref() to free.</doc>
</field>
<field name="eject_with_operation">
<callback name="eject_with_operation">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="eject_with_operation_finish">
<callback name="eject_with_operation_finish" throws="1">
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the volume was successfully ejected. %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="get_sort_key">
<callback name="get_sort_key">
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">Sorting key for @volume or %NULL if no such key is available</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="get_symbolic_icon">
<callback name="get_symbolic_icon">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon.
The returned object should be unreffed with g_object_unref()
In order to receive updates about volumes and mounts monitored through GVFS,
a main loop must be running.</doc>
-
<function name="adopt_orphan_mount" c:identifier="g_volume_monitor_adopt_orphan_mount" deprecated="1" deprecated-version="2.20">
<doc xml:space="preserve">This function should be called by any #GVolumeMonitor
implementation when a new #GMount object is created that is not
the mount they intend to adopt. See the proxy volume monitor in
gvfs for an example of this. Also see g_mount_is_shadowed(),
g_mount_shadow() and g_mount_unshadow() functions.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the #GVolume object that is the parent for @mount or %NULL
if no wants to adopt the #GMount.</doc>
</function>
<function name="get" c:identifier="g_volume_monitor_get">
<doc xml:space="preserve">Gets the volume monitor used by gio.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a reference to the #GVolumeMonitor used by gio. Call
g_object_unref() when done with it.</doc>
</return-value>
</function>
<virtual-method name="drive_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="drive_connected">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="drive_disconnected">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="drive_eject_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="drive_stop_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of connected #GDrive objects.</doc>
<type name="GLib.List" c:type="GList*">
</virtual-method>
<virtual-method name="get_mount_for_uuid" invoker="get_mount_for_uuid">
<doc xml:space="preserve">Finds a #GMount object by its UUID (see g_mount_get_uuid())</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GMount or %NULL if no such mount is available.
Free the returned object with g_object_unref().</doc>
<type name="Mount" c:type="GMount*"/>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GMount objects.</doc>
<type name="GLib.List" c:type="GList*">
</virtual-method>
<virtual-method name="get_volume_for_uuid" invoker="get_volume_for_uuid">
<doc xml:space="preserve">Finds a #GVolume object by its UUID (see g_volume_get_uuid())</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVolume or %NULL if no such volume is available.
Free the returned object with g_object_unref().</doc>
<type name="Volume" c:type="GVolume*"/>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GVolume objects.</doc>
<type name="GLib.List" c:type="GList*">
</parameters>
</virtual-method>
<virtual-method name="mount_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="mount_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="mount_pre_unmount">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="mount_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="volume_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="volume_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</virtual-method>
<virtual-method name="volume_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of connected #GDrive objects.</doc>
<type name="GLib.List" c:type="GList*">
</method>
<method name="get_mount_for_uuid" c:identifier="g_volume_monitor_get_mount_for_uuid">
<doc xml:space="preserve">Finds a #GMount object by its UUID (see g_mount_get_uuid())</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GMount or %NULL if no such mount is available.
Free the returned object with g_object_unref().</doc>
<type name="Mount" c:type="GMount*"/>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GMount objects.</doc>
<type name="GLib.List" c:type="GList*">
</method>
<method name="get_volume_for_uuid" c:identifier="g_volume_monitor_get_volume_for_uuid">
<doc xml:space="preserve">Finds a #GVolume object by its UUID (see g_volume_get_uuid())</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVolume or %NULL if no such volume is available.
Free the returned object with g_object_unref().</doc>
<type name="Volume" c:type="GVolume*"/>
The returned list should be freed with g_list_free(), after
its elements have been unreffed with g_object_unref().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GVolume objects.</doc>
<type name="GLib.List" c:type="GList*">
</glib:signal>
</class>
<record name="VolumeMonitorClass" c:type="GVolumeMonitorClass" glib:is-gtype-struct-for="VolumeMonitor">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="volume_added">
<callback name="volume_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="volume_removed">
<callback name="volume_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="volume_changed">
<callback name="volume_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_added">
<callback name="mount_added">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_removed">
<callback name="mount_removed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_pre_unmount">
<callback name="mount_pre_unmount">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="mount_changed">
<callback name="mount_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="drive_connected">
<callback name="drive_connected">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="drive_disconnected">
<callback name="drive_disconnected">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="drive_changed">
<callback name="drive_changed">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="is_supported">
<callback name="is_supported">
-
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</field>
<field name="get_connected_drives">
<callback name="get_connected_drives">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of connected #GDrive objects.</doc>
<type name="GLib.List" c:type="GList*">
</field>
<field name="get_volumes">
<callback name="get_volumes">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GVolume objects.</doc>
<type name="GLib.List" c:type="GList*">
</field>
<field name="get_mounts">
<callback name="get_mounts">
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GList of #GMount objects.</doc>
<type name="GLib.List" c:type="GList*">
</field>
<field name="get_volume_for_uuid">
<callback name="get_volume_for_uuid">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GVolume or %NULL if no such volume is available.
Free the returned object with g_object_unref().</doc>
<type name="Volume" c:type="GVolume*"/>
</field>
<field name="get_mount_for_uuid">
<callback name="get_mount_for_uuid">
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GMount or %NULL if no such mount is available.
Free the returned object with g_object_unref().</doc>
<type name="Mount" c:type="GMount*"/>
</field>
<field name="adopt_orphan_mount" introspectable="0">
<callback name="adopt_orphan_mount" introspectable="0">
-
<return-value>
<type name="Volume" c:type="GVolume*"/>
</return-value>
</field>
<field name="drive_eject_button">
<callback name="drive_eject_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="drive_stop_button">
<callback name="drive_stop_button">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved1" introspectable="0">
<callback name="_g_reserved1">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved2" introspectable="0">
<callback name="_g_reserved2">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved3" introspectable="0">
<callback name="_g_reserved3">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved4" introspectable="0">
<callback name="_g_reserved4">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved5" introspectable="0">
<callback name="_g_reserved5">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
<field name="_g_reserved6" introspectable="0">
<callback name="_g_reserved6">
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</field>
</record>
<function-macro name="ZLIB_COMPRESSOR" c:identifier="G_ZLIB_COMPRESSOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="ZLIB_COMPRESSOR_CLASS" c:identifier="G_ZLIB_COMPRESSOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="ZLIB_COMPRESSOR_GET_CLASS" c:identifier="G_ZLIB_COMPRESSOR_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="ZLIB_DECOMPRESSOR" c:identifier="G_ZLIB_DECOMPRESSOR" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="ZLIB_DECOMPRESSOR_CLASS" c:identifier="G_ZLIB_DECOMPRESSOR_CLASS" introspectable="0">
-
<parameters>
<parameter name="k">
</parameter>
</parameters>
</function-macro>
<function-macro name="ZLIB_DECOMPRESSOR_GET_CLASS" c:identifier="G_ZLIB_DECOMPRESSOR_GET_CLASS" introspectable="0">
-
<parameters>
<parameter name="o">
</parameter>
</function-macro>
<class name="ZlibCompressor" c:symbol-prefix="zlib_compressor" c:type="GZlibCompressor" parent="GObject.Object" glib:type-name="GZlibCompressor" glib:get-type="g_zlib_compressor_get_type" glib:type-struct="ZlibCompressorClass">
<doc xml:space="preserve">Zlib decompression</doc>
-
<implements name="Converter"/>
<constructor name="new" c:identifier="g_zlib_compressor_new" version="2.24">
<doc xml:space="preserve">Creates a new #GZlibCompressor.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GZlibCompressor</doc>
<type name="ZlibCompressor" c:type="GZlibCompressor*"/>
</constructor>
<method name="get_file_info" c:identifier="g_zlib_compressor_get_file_info" version="2.26">
<doc xml:space="preserve">Returns the #GZlibCompressor:file-info property.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GFileInfo, or %NULL</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</return-value>
Note: it is an error to call this function while a compression is in
progress; it may only be called immediately after creation of @compressor,
or after resetting it with g_converter_reset().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</property>
</class>
<record name="ZlibCompressorClass" c:type="GZlibCompressorClass" glib:is-gtype-struct-for="ZlibCompressor">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</enumeration>
<class name="ZlibDecompressor" c:symbol-prefix="zlib_decompressor" c:type="GZlibDecompressor" parent="GObject.Object" glib:type-name="GZlibDecompressor" glib:get-type="g_zlib_decompressor_get_type" glib:type-struct="ZlibDecompressorClass">
<doc xml:space="preserve">Zlib decompression</doc>
-
<implements name="Converter"/>
<constructor name="new" c:identifier="g_zlib_decompressor_new" version="2.24">
<doc xml:space="preserve">Creates a new #GZlibDecompressor.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GZlibDecompressor</doc>
<type name="ZlibDecompressor" c:type="GZlibDecompressor*"/>
#GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP,
or the header data was not fully processed yet, or it not present in the
data stream at all.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a #GFileInfo, or %NULL</doc>
<type name="FileInfo" c:type="GFileInfo*"/>
</return-value>
</property>
</class>
<record name="ZlibDecompressorClass" c:type="GZlibDecompressorClass" glib:is-gtype-struct-for="ZlibDecompressor">
-
<field name="parent_class">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
It is an error to call this function with a non-utf8 @action_name.
@action_name must not be %NULL.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @action_name is valid</doc>
<type name="gboolean" c:type="gboolean"/>
target can be specified this way as well: "app.action('target')".
For strings, this third format must be used if * target value is
empty or contains characters other than alphanumerics, '-' and '.'.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if successful, else %FALSE with @error set</doc>
<type name="gboolean" c:type="gboolean"/>
See that function for the types of strings that will be printed by
this function.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a detailed format string</doc>
<type name="utf8" c:type="gchar*"/>
are applied. For example, if the @commandline contains
percent-encoded URIs, the percent-character must be doubled in order to prevent it from
being swallowed by Exec key unquoting. See the specification for exact quoting rules.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">new #GAppInfo for given command.</doc>
<type name="AppInfo" c:type="GAppInfo*"/>
of `OnlyShowIn` or `NotShowIn`. See g_app_info_should_show().
The returned list does not include applications which have
the `Hidden` key set.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated #GList of references to #GAppInfos.</doc>
<type name="GLib.List" c:type="GList*">
including the recommended and fallback #GAppInfos. See
g_app_info_get_recommended_for_type() and
g_app_info_get_fallback_for_type().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList of #GAppInfos
for given @content_type or %NULL on error.</doc>
</function>
<function name="app_info_get_default_for_type" c:identifier="g_app_info_get_default_for_type" moved-to="AppInfo.get_default_for_type">
<doc xml:space="preserve">Gets the default #GAppInfo for a given content type.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">#GAppInfo for given @content_type or
%NULL on error.</doc>
the given URI scheme. A URI scheme is the initial part
of the URI, up to but not including the ':', e.g. "http",
"ftp" or "sip".</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">#GAppInfo for given @uri_scheme or
%NULL on error.</doc>
<doc xml:space="preserve">Gets a list of fallback #GAppInfos for a given content type, i.e.
those applications which claim to support the given content type
by MIME type subclassing and not directly.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList of #GAppInfos
for given @content_type or %NULL on error.</doc>
Note that the first application of the list is the last used one, i.e.
the last one for which g_app_info_set_as_last_used_for_type() has been
called.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GList of #GAppInfos
for given @content_type or %NULL on error.</doc>
The D-Bus–activated applications don't have to be started if your application
terminates too soon after this function. To prevent this, use
g_app_info_launch_default_for_uri_async() instead.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE on error.</doc>
<type name="gboolean" c:type="gboolean"/>
This is also useful if you want to be sure that the D-Bus–activated
applications are really started before termination and if you are interested
in receiving error information from their activation.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="app_info_launch_default_for_uri_finish" c:identifier="g_app_info_launch_default_for_uri_finish" moved-to="AppInfo.launch_default_for_uri_finish" version="2.50" throws="1">
<doc xml:space="preserve">Finishes an asynchronous launch-default-for-uri operation.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the launch was successful, %FALSE if @error is set</doc>
<type name="gboolean" c:type="gboolean"/>
g_app_info_set_as_default_for_extension(),
g_app_info_add_supports_type() or
g_app_info_remove_supports_type().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
for any errors.</doc>
<doc-deprecated xml:space="preserve">Use g_object_new_with_properties() and
g_async_initable_init_async() instead. See #GParameter for more information.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This is an asynchronous failable function. See g_bus_get_sync() for
the synchronous version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Note that the returned #GDBusConnection object will (usually) have
the #GDBusConnection:exit-on-close property set to %TRUE.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set.
Free with g_object_unref().</doc>
Note that the returned #GDBusConnection object will (usually) have
the #GDBusConnection:exit-on-close property set to %TRUE.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GDBusConnection or %NULL if @error is set.
Free with g_object_unref().</doc>
to [own names][gdbus-owning-names] and export objects.
Simply register objects to be exported in @bus_acquired_handler and
unregister the objects (if any) in @name_lost_handler.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an identifier (never 0) that can be used with
g_bus_unown_name() to stop owning the name.</doc>
<function name="bus_own_name_on_connection" c:identifier="g_bus_own_name_on_connection" shadowed-by="bus_own_name_on_connection_with_closures" version="2.26" introspectable="0">
<doc xml:space="preserve">Like g_bus_own_name() but takes a #GDBusConnection instead of a
#GBusType.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an identifier (never 0) that can be used with
g_bus_unown_name() to stop owning the name</doc>
<function name="bus_own_name_on_connection_with_closures" c:identifier="g_bus_own_name_on_connection_with_closures" shadows="bus_own_name_on_connection" version="2.26">
<doc xml:space="preserve">Version of g_bus_own_name_on_connection() using closures instead of
callbacks for easier binding in other languages.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an identifier (never 0) that can be used with
g_bus_unown_name() to stop owning the name.</doc>
<function name="bus_own_name_with_closures" c:identifier="g_bus_own_name_with_closures" shadows="bus_own_name" version="2.26">
<doc xml:space="preserve">Version of g_bus_own_name() using closures instead of callbacks for
easier binding in other languages.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">an identifier (never 0) that can be used with
g_bus_unown_name() to stop owning the name.</doc>
until the #GDestroyNotify function passed to g_bus_own_name() is called, in
order to avoid memory leaks through callbacks queued on the #GMainContext
after it’s stopped being iterated.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
until the #GDestroyNotify function passed to g_bus_watch_name() is called, in
order to avoid memory leaks through callbacks queued on the #GMainContext
after it’s stopped being iterated.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
Basically, the application should create object proxies in
@name_appeared_handler and destroy them again (if any) in
@name_vanished_handler.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An identifier (never 0) that can be used with
g_bus_unwatch_name() to stop watching the name.</doc>
<function name="bus_watch_name_on_connection" c:identifier="g_bus_watch_name_on_connection" shadowed-by="bus_watch_name_on_connection_with_closures" version="2.26" introspectable="0">
<doc xml:space="preserve">Like g_bus_watch_name() but takes a #GDBusConnection instead of a
#GBusType.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An identifier (never 0) that can be used with
g_bus_unwatch_name() to stop watching the name.</doc>
<function name="bus_watch_name_on_connection_with_closures" c:identifier="g_bus_watch_name_on_connection_with_closures" shadows="bus_watch_name_on_connection" version="2.26">
<doc xml:space="preserve">Version of g_bus_watch_name_on_connection() using closures instead of callbacks for
easier binding in other languages.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An identifier (never 0) that can be used with
g_bus_unwatch_name() to stop watching the name.</doc>
<function name="bus_watch_name_with_closures" c:identifier="g_bus_watch_name_with_closures" shadows="bus_watch_name" version="2.26">
<doc xml:space="preserve">Version of g_bus_watch_name() using closures instead of callbacks for
easier binding in other languages.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">An identifier (never 0) that can be used with
g_bus_unwatch_name() to stop watching the name.</doc>
<function name="content_type_can_be_executable" c:identifier="g_content_type_can_be_executable">
<doc xml:space="preserve">Checks if a content type can be executable. Note that for instance
things like text files can be executables (i.e. scripts and batch files).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file type corresponds to a type that
can be executable, %FALSE otherwise.</doc>
</function>
<function name="content_type_equals" c:identifier="g_content_type_equals">
<doc xml:space="preserve">Compares two content types for equality.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the two strings are identical or equivalent,
%FALSE otherwise.</doc>
</function>
<function name="content_type_from_mime_type" c:identifier="g_content_type_from_mime_type" version="2.18">
<doc xml:space="preserve">Tries to find a content type based on the mime type name.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">Newly allocated string with content type or
%NULL. Free with g_free()</doc>
</function>
<function name="content_type_get_description" c:identifier="g_content_type_get_description">
<doc xml:space="preserve">Gets the human readable description of the content type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a short description of the content type @type. Free the
returned string with g_free()</doc>
See the
[shared-mime-info](http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec)
specification for more on the generic icon name.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the registered generic icon name for the given @type,
or %NULL if unknown. Free with g_free()</doc>
</function>
<function name="content_type_get_icon" c:identifier="g_content_type_get_icon">
<doc xml:space="preserve">Gets the icon for a content type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GIcon corresponding to the content type. Free the returned
object with g_object_unref()</doc>
<function name="content_type_get_mime_dirs" c:identifier="g_content_type_get_mime_dirs" version="2.60">
<doc xml:space="preserve">Get the list of directories which MIME data is loaded from. See
g_content_type_set_mime_dirs() for details.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%NULL-terminated list of
directories to load MIME data from, including any `mime/` subdirectory,
</function>
<function name="content_type_get_mime_type" c:identifier="g_content_type_get_mime_type">
<doc xml:space="preserve">Gets the mime type for the content type, if one is registered.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">the registered mime type for the
given @type, or %NULL if unknown; free with g_free().</doc>
</function>
<function name="content_type_get_symbolic_icon" c:identifier="g_content_type_get_symbolic_icon" version="2.34">
<doc xml:space="preserve">Gets the symbolic icon for a content type.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">symbolic #GIcon corresponding to the content type.
Free the returned object with g_object_unref()</doc>
uncertain, @result_uncertain will be set to %TRUE. Either @filename
or @data may be %NULL, in which case the guess will be based solely
on the other argument.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string indicating a guessed content type for the
given data. Free with g_free()</doc>
This function is useful in the implementation of
g_mount_guess_content_type().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an %NULL-terminated
array of zero or more content types. Free with g_strfreev()</doc>
</function>
<function name="content_type_is_a" c:identifier="g_content_type_is_a">
<doc xml:space="preserve">Determines if @type is a subset of @supertype.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a kind of @supertype,
%FALSE otherwise.</doc>
<function name="content_type_is_mime_type" c:identifier="g_content_type_is_mime_type" version="2.52">
<doc xml:space="preserve">Determines if @type is a subset of @mime_type.
Convenience wrapper around g_content_type_is_a().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @type is a kind of @mime_type,
%FALSE otherwise.</doc>
On UNIX this is the "application/octet-stream" mimetype,
while on win32 it is "*" and on OSX it is a dynamic type
or octet-stream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the type is the unknown type.</doc>
<type name="gboolean" c:type="gboolean"/>
return g_test_run ();
]|</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc xml:space="preserve">Gets a list of strings containing all the registered content types
known to the system. The list and its data should be freed using
`g_list_free_full (list, g_free)`.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">list of the registered
content types</doc>
this function would return `/run/bus-for-%3A0`,
which could be used in a D-Bus address like
`unix:nonce-tcp:host=127.0.0.1,port=42,noncefile=/run/bus-for-%3A0`.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a copy of @string with all
non-optionally-escaped bytes escaped</doc>
The returned address will be in the
[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a valid D-Bus address string for @bus_type or
%NULL if @error is set</doc>
This is an asynchronous failable function. See
g_dbus_address_get_stream_sync() for the synchronous version.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</parameters>
</function>
<function name="dbus_address_get_stream_finish" c:identifier="g_dbus_address_get_stream_finish" version="2.26" throws="1">
- <doc xml:space="preserve">Finishes an operation started with g_dbus_address_get_stream().</doc>
-
+ <doc xml:space="preserve">Finishes an operation started with g_dbus_address_get_stream().
+
+A server is not required to set a GUID, so @out_guid may be set to %NULL
+even on success.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GIOStream or %NULL if @error is set.</doc>
<type name="IOStream" c:type="GIOStream*"/>
<doc xml:space="preserve">A #GAsyncResult obtained from the GAsyncReadyCallback passed to g_dbus_address_get_stream().</doc>
<type name="AsyncResult" c:type="GAsyncResult*"/>
</parameter>
- <parameter name="out_guid" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <parameter name="out_guid" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
<doc xml:space="preserve">%NULL or return location to store the GUID extracted from @address, if any.</doc>
<type name="utf8" c:type="gchar**"/>
</parameter>
of the D-Bus authentication conversation. @address must be in the
[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
+A server is not required to set a GUID, so @out_guid may be set to %NULL
+even on success.
+
This is a synchronous failable function. See
g_dbus_address_get_stream() for the asynchronous version.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A #GIOStream or %NULL if @error is set.</doc>
<type name="IOStream" c:type="GIOStream*"/>
<doc xml:space="preserve">A valid D-Bus address.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="out_guid" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <parameter name="out_guid" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
<doc xml:space="preserve">%NULL or return location to store the GUID extracted from @address, if any.</doc>
<type name="utf8" c:type="gchar**"/>
</parameter>
<doc xml:space="preserve">Looks up the value of an annotation.
The cost of this function is O(n) in number of annotations.</doc>
-
- <return-value transfer-ownership="none">
+ <return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">The value or %NULL if not found. Do not free, it is owned by @annotations.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
This function is typically only used in object mappings to put a
#GError on the wire. Regular applications should not use it.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A D-Bus error name (never %NULL). Free with g_free().</doc>
+ <doc xml:space="preserve">A D-Bus error name (never %NULL).
+ Free with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
#GErrors returned from functions handling remote method calls
(e.g. g_dbus_connection_call_finish()) unless
g_dbus_error_strip_remote_error() has been used on @error.</doc>
-
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">an allocated string or %NULL if the D-Bus error name
- could not be found. Free with g_free().</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve">an allocated string or %NULL if the
+ D-Bus error name could not be found. Free with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<function name="dbus_error_is_remote_error" c:identifier="g_dbus_error_is_remote_error" moved-to="DBusError.is_remote_error" version="2.26">
<doc xml:space="preserve">Checks if @error represents an error received via D-Bus from a remote peer. If so,
use g_dbus_error_get_remote_error() to get the name of the error.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @error represents an error from a remote peer,
%FALSE otherwise.</doc>
This function is typically only used in object mappings to prepare
#GError instances for applications. Regular applications should not use
it.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">An allocated #GError. Free with g_error_free().</doc>
<type name="GLib.Error" c:type="GError*"/>
This is typically done in the routine that returns the #GQuark for
an error domain.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the association was created, %FALSE if it already
exists.</doc>
</parameters>
</function>
<function name="dbus_error_register_error_domain" c:identifier="g_dbus_error_register_error_domain" moved-to="DBusError.register_error_domain" version="2.26">
- <doc xml:space="preserve">Helper function for associating a #GError error domain with D-Bus error names.</doc>
-
+ <doc xml:space="preserve">Helper function for associating a #GError error domain with D-Bus error names.
+
+While @quark_volatile has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
received on the wire.
This is typically used when presenting errors to the end user.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if information was stripped, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="dbus_error_unregister_error" c:identifier="g_dbus_error_unregister_error" moved-to="DBusError.unregister_error" version="2.26">
<doc xml:space="preserve">Destroys an association previously set up with g_dbus_error_register_error().</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the association was destroyed, %FALSE if it wasn't found.</doc>
<type name="gboolean" c:type="gboolean"/>
See the D-Bus specification regarding what strings are valid D-Bus
GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A valid D-Bus GUID. Free with g_free().</doc>
<type name="utf8" c:type="gchar*"/>
See the g_dbus_gvariant_to_gvalue() function for how to convert a
#GVariant to a #GValue.</doc>
-
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A #GVariant (never floating) of #GVariantType @type holding
- the data from @gvalue or %NULL in case of failure. Free with
- g_variant_unref().</doc>
+ <doc xml:space="preserve">A #GVariant (never floating) of
+ #GVariantType @type holding the data from @gvalue or an empty #GVariant
+ in case of failure. Free with g_variant_unref().</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
The conversion never fails - a valid #GValue is always returned in
@out_gvalue.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This doesn't check if @string is actually supported by #GDBusServer
or #GDBusConnection - use g_dbus_is_supported_address() to do more
checks.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string is a valid D-Bus address, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
See the D-Bus specification regarding what strings are valid D-Bus
GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string is a guid, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="dbus_is_interface_name" c:identifier="g_dbus_is_interface_name" version="2.26">
<doc xml:space="preserve">Checks if @string is a valid D-Bus interface name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if valid, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="dbus_is_member_name" c:identifier="g_dbus_is_member_name" version="2.26">
<doc xml:space="preserve">Checks if @string is a valid D-Bus member (e.g. signal or method) name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if valid, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="dbus_is_name" c:identifier="g_dbus_is_name" version="2.26">
<doc xml:space="preserve">Checks if @string is a valid D-Bus bus name (either unique or well-known).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if valid, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
transports in @string and that key/value pairs for each transport
are valid. See the specification of the
[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @string is a valid D-Bus address that is
supported by this library, %FALSE if @error is set.</doc>
</function>
<function name="dbus_is_unique_name" c:identifier="g_dbus_is_unique_name" version="2.26">
<doc xml:space="preserve">Checks if @string is a valid D-Bus unique bus name.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if valid, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="dtls_client_connection_new" c:identifier="g_dtls_client_connection_new" moved-to="DtlsClientConnection.new" version="2.48" throws="1">
<doc xml:space="preserve">Creates a new #GDtlsClientConnection wrapping @base_socket which is
assumed to communicate with the server identified by @server_identity.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GDtlsClientConnection, or %NULL on error</doc>
</function>
<function name="dtls_server_connection_new" c:identifier="g_dtls_server_connection_new" moved-to="DtlsServerConnection.new" version="2.48" throws="1">
<doc xml:space="preserve">Creates a new #GDtlsServerConnection wrapping @base_socket.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GDtlsServerConnection, or %NULL on error</doc>
g_application_command_line_create_file_for_arg() may be more useful
for you there. It is also always possible to use this function with
#GOptionContext arguments of type %G_OPTION_ARG_FILENAME.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile.
Free the returned object with g_object_unref().</doc>
other than the invocation of the current process.
See also g_application_command_line_create_file_for_arg().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile</doc>
<type name="File" c:type="GFile*"/>
<doc xml:space="preserve">Constructs a #GFile for a given path. This operation never
fails, but the returned object might not support any I/O
operation if @path is malformed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile for the given @path.
Free the returned object with g_object_unref().</doc>
fails, but the returned object might not support any I/O
operation if @uri is malformed or if the uri type is
not supported.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile for the given @uri.
Free the returned object with g_object_unref().</doc>
Unlike the other #GFile constructors, this will return %NULL if
a temporary file could not be created.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile.
Free the returned object with g_object_unref().</doc>
given by g_file_get_parse_name()). This operation never fails,
but the returned object might not support any I/O operation if
the @parse_name cannot be parsed.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GFile.</doc>
<type name="File" c:type="GFile*"/>
GQuark
foo_bar_error_quark (void)
{
- static volatile gsize quark_volatile = 0;
+ static gsize quark = 0;
g_dbus_error_register_error_domain ("foo-bar-error-quark",
- &quark_volatile,
+ &quark,
foo_bar_error_entries,
G_N_ELEMENTS (foo_bar_error_entries));
- return (GQuark) quark_volatile;
+ return (GQuark) quark;
}
]|
With this setup, a D-Bus peer can transparently pass e.g. %FOO_BAR_ERROR_ANOTHER_ERROR and
</docsection>
<function name="icon_deserialize" c:identifier="g_icon_deserialize" moved-to="Icon.deserialize" version="2.38">
<doc xml:space="preserve">Deserializes a #GIcon previously serialized using g_icon_serialize().</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GIcon, or %NULL when deserialization fails.</doc>
<type name="Icon" c:type="GIcon*"/>
</return-value>
</function>
<function name="icon_hash" c:identifier="g_icon_hash" moved-to="Icon.hash">
<doc xml:space="preserve">Gets a hash for an icon.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #guint containing a hash for the @icon, suitable for
use in a #GHashTable or similar data structure.</doc>
If your application or library provides one or more #GIcon
implementations you need to ensure that each #GType is registered
with the type system prior to calling g_icon_new_for_string().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">An object implementing the #GIcon
interface or %NULL if @error is set.</doc>
and returns %NULL, setting an error on failure.</doc>
<doc-deprecated xml:space="preserve">Use g_object_new_with_properties() and
g_initable_init() instead. See #GParameter for more information.</doc-deprecated>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated
#GObject, or %NULL on error</doc>
As %errno is global and may be modified by intermediate function
calls, you should save its value as soon as the call which sets it</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GIOErrorEnum value for the given errno.h error number.</doc>
<type name="IOErrorEnum" c:type="GIOErrorEnum"/>
If @type has already been registered as an extension for this
extension point, the existing #GIOExtension object is returned.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GIOExtension object for #GType</doc>
<type name="IOExtension" c:type="GIOExtension*"/>
</function>
<function name="io_extension_point_lookup" c:identifier="g_io_extension_point_lookup" moved-to="IOExtensionPoint.lookup">
<doc xml:space="preserve">Looks up an existing extension point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GIOExtensionPoint, or %NULL if there
is no registered extension point with the given name.</doc>
</function>
<function name="io_extension_point_register" c:identifier="g_io_extension_point_register" moved-to="IOExtensionPoint.register">
<doc xml:space="preserve">Registers an extension point.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GIOExtensionPoint. This object is
owned by GIO and should not be freed.</doc>
If don't require all modules to be initialized (and thus registering
all gtypes) then you can use g_io_modules_scan_all_in_directory()
which allows delayed/lazy loading of modules.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a list of #GIOModules loaded
from the directory,
If don't require all modules to be initialized (and thus registering
all gtypes) then you can use g_io_modules_scan_all_in_directory()
which allows delayed/lazy loading of modules.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a list of #GIOModules loaded
from the directory,
If you need to guarantee that all types are loaded in all the modules,
use g_io_modules_load_all_in_directory().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
If you need to guarantee that all types are loaded in all the modules,
use g_io_modules_load_all_in_directory().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<doc-deprecated xml:space="preserve">You should never call this function, since you don't
know how other libraries in your program might be making use of
gioscheduler.</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
by calling g_cancellable_cancel() or by calling
g_io_scheduler_cancel_all_jobs().</doc>
<doc-deprecated xml:space="preserve">use #GThreadPool or g_task_run_in_thread()</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
the directory specified by the #GKeyfileSettingsBackend:defaults-dir property,
and a list of locked keys from a text file with the name `locks` in
the same location.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a keyfile-backed #GSettingsBackend</doc>
<type name="SettingsBackend" c:type="GSettingsBackend*"/>
</function>
<function name="memory_monitor_dup_default" c:identifier="g_memory_monitor_dup_default" moved-to="MemoryMonitor.dup_default" version="2.64">
<doc xml:space="preserve">Gets a reference to the default #GMemoryMonitor for the system.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new reference to the default #GMemoryMonitor</doc>
<type name="MemoryMonitor" c:type="GMemoryMonitor*"/>
This backend allows changes to settings, but does not write them
to any backing storage, so the next time you run your application,
the memory backend will start out with the default values again.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly created #GSettingsBackend</doc>
<type name="SettingsBackend" c:type="GSettingsBackend*"/>
</function>
<function name="network_monitor_get_default" c:identifier="g_network_monitor_get_default" moved-to="NetworkMonitor.get_default" version="2.32">
<doc xml:space="preserve">Gets the default #GNetworkMonitor for the system.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GNetworkMonitor</doc>
+ <doc xml:space="preserve">a #GNetworkMonitor, which will be
+ a dummy object if no network monitor is available</doc>
<type name="NetworkMonitor" c:type="GNetworkMonitor*"/>
</return-value>
</function>
calls WSAStartup()). GLib will call this itself if it is needed, so
you only need to call it if you directly call system networking
functions (without calling any GLib networking functions first).</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
This backend does not allow changes to settings, so all settings
will always have their default values.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly created #GSettingsBackend</doc>
<type name="SettingsBackend" c:type="GSettingsBackend*"/>
type #GPollableSourceFunc. The new source does not actually do
anything on its own; use g_source_add_child_source() to add other
sources to it to cause it to trigger.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GSource.</doc>
<type name="GLib.Source" c:type="GSource*"/>
implementations. Creates a new #GSource, as with
g_pollable_source_new(), but also attaching @child_source (with a
dummy callback), and @cancellable, if they are non-%NULL.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GSource.</doc>
<type name="GLib.Source" c:type="GSource*"/>
#GPollableInputStream for which g_pollable_input_stream_can_poll()
returns %TRUE, or else the behavior is undefined. If @blocking is
%TRUE, then @stream does not need to be a #GPollableInputStream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes read, or -1 on error.</doc>
<type name="gssize" c:type="gssize"/>
g_pollable_output_stream_can_poll() returns %TRUE or else the
behavior is undefined. If @blocking is %TRUE, then @stream does not
need to be a #GPollableOutputStream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of bytes written, or -1 on error.</doc>
<type name="gssize" c:type="gssize"/>
g_pollable_output_stream_can_poll() returns %TRUE or else the
behavior is undefined. If @blocking is %TRUE, then @stream does not
need to be a #GPollableOutputStream.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success, %FALSE if there was an error</doc>
<type name="gboolean" c:type="gboolean"/>
<function name="proxy_get_default_for_protocol" c:identifier="g_proxy_get_default_for_protocol" moved-to="Proxy.get_default_for_protocol" version="2.26">
<doc xml:space="preserve">Find the `gio-proxy` extension point for a proxy implementation that supports
the specified protocol.</doc>
-
- <return-value transfer-ownership="full">
+ <return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">return a #GProxy or NULL if protocol
is not supported.</doc>
<type name="Proxy" c:type="GProxy*"/>
</function>
<function name="proxy_resolver_get_default" c:identifier="g_proxy_resolver_get_default" moved-to="ProxyResolver.get_default" version="2.26">
<doc xml:space="preserve">Gets the default #GProxyResolver for the system.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the default #GProxyResolver.</doc>
+ <doc xml:space="preserve">the default #GProxyResolver, which
+ will be a dummy object if no proxy resolver is available</doc>
<type name="ProxyResolver" c:type="GProxyResolver*"/>
</return-value>
</function>
%G_RESOURCE_ERROR_INTERNAL will be returned. If @filename doesn’t exist, or
there is an error in reading it, an error from g_mapped_file_new() will be
returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GResource, or %NULL on error</doc>
<type name="Resource" c:type="GResource*"/>
be released with g_strfreev().
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">an array of constant strings</doc>
<array c:type="char**">
globally registered resources and if found returns information about it.
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the file was found. %FALSE if there were errors</doc>
<type name="gboolean" c:type="gboolean"/>
the heap and automatically uncompress the data.
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GBytes or %NULL on error.
Free the returned object with g_bytes_unref()</doc>
that lets you read the data.
@lookup_flags controls the behaviour of the lookup.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">#GInputStream or %NULL on error.
Free the returned object with g_object_unref()</doc>
<doc xml:space="preserve">Registers the resource with the process-global set of resources.
Once a resource is registered the files in it can be accessed
with the global resource lookup functions like g_resources_lookup_data().</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="resources_unregister" c:identifier="g_resources_unregister" version="2.32">
<doc xml:space="preserve">Unregisters the resource from the process-global set of resources.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
lookups performed against the default source should probably be done
recursively.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">the default schema source</doc>
<type name="SettingsSchemaSource" c:type="GSettingsSchemaSource*"/>
directly setting the contents of the #GAsyncResult with the given error
information.</doc>
<doc-deprecated xml:space="preserve">Use g_task_report_error().</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_simple_async_report_error_in_idle(), but takes a #GError rather
than building a new one.</doc>
<doc-deprecated xml:space="preserve">Use g_task_report_error().</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
g_simple_async_report_gerror_in_idle(), but takes over the caller's
ownership of @error, so the caller does not have to free it any more.</doc>
<doc-deprecated xml:space="preserve">Use g_task_report_error().</doc-deprecated>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="srv_target_list_sort" c:identifier="g_srv_target_list_sort" moved-to="SrvTarget.list_sort" version="2.22" introspectable="0">
<doc xml:space="preserve">Sorts @targets in place according to the algorithm in RFC 2782.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the head of the sorted list.</doc>
<type name="GLib.List" c:type="GList*">
</function>
<function name="tls_backend_get_default" c:identifier="g_tls_backend_get_default" moved-to="TlsBackend.get_default" version="2.28">
<doc xml:space="preserve">Gets the default #GTlsBackend for the system.</doc>
-
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GTlsBackend</doc>
+ <doc xml:space="preserve">a #GTlsBackend, which will be a
+ dummy object if no TLS backend is available</doc>
<type name="TlsBackend" c:type="GTlsBackend*"/>
</return-value>
</function>
See the documentation for #GTlsConnection:base-io-stream for restrictions
on when application code can run operations on the @base_io_stream after
this function has returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GTlsClientConnection, or %NULL on error</doc>
in @anchors to verify certificate chains.
The certificates in @anchors must be PEM encoded.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GTlsFileDatabase, or %NULL on error</doc>
See the documentation for #GTlsConnection:base-io-stream for restrictions
on when application code can run operations on the @base_io_stream after
this function has returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new
#GTlsServerConnection, or %NULL on error</doc>
OS. This is primarily used for hiding mountable and mounted volumes
that only are used in the OS and has little to no relevance to the
casual user.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mount_path is considered an implementation detail
of the OS.</doc>
appear in a GUI. For example, the Linux `/proc` filesystem.
The list of device paths considered ‘system’ ones may change over time.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @device_path is considered an implementation detail of
the OS.</doc>
appear in a GUI. For example, the Linux `/proc` filesystem.
The list of file system types considered ‘system’ ones may change over time.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @fs_type is considered an implementation detail of the OS.</doc>
<type name="gboolean" c:type="gboolean"/>
If more mounts have the same mount path, the last matching mount
is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GUnixMountEntry.</doc>
<type name="UnixMountEntry" c:type="GUnixMountEntry*"/>
</function>
<function name="unix_mount_compare" c:identifier="g_unix_mount_compare">
<doc xml:space="preserve">Compares two unix mounts.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">1, 0 or -1 if @mount1 is greater than, equal to,
or less than @mount2, respectively.</doc>
</function>
<function name="unix_mount_copy" c:identifier="g_unix_mount_copy" version="2.54">
<doc xml:space="preserve">Makes a copy of @mount_entry.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GUnixMountEntry</doc>
<type name="UnixMountEntry" c:type="GUnixMountEntry*"/>
If more mounts have the same mount path, the last matching mount
is returned.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GUnixMountEntry.</doc>
<type name="UnixMountEntry" c:type="GUnixMountEntry*"/>
</function>
<function name="unix_mount_free" c:identifier="g_unix_mount_free">
<doc xml:space="preserve">Frees a unix mount.</doc>
-
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="unix_mount_get_device_path" c:identifier="g_unix_mount_get_device_path">
<doc xml:space="preserve">Gets the device path for a unix mount.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the device path.</doc>
<type name="filename" c:type="const char*"/>
</function>
<function name="unix_mount_get_fs_type" c:identifier="g_unix_mount_get_fs_type">
<doc xml:space="preserve">Gets the filesystem type for the unix mount.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string containing the file system type.</doc>
<type name="utf8" c:type="const char*"/>
</function>
<function name="unix_mount_get_mount_path" c:identifier="g_unix_mount_get_mount_path">
<doc xml:space="preserve">Gets the mount path for a unix mount.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">the mount path for @mount_entry.</doc>
<type name="filename" c:type="const char*"/>
This is similar to g_unix_mount_point_get_options(), but it takes
a #GUnixMountEntry as an argument.</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the options, or %NULL if not
available.</doc>
For example, the root path is equal to "/" for mount created by
"mount /dev/sda1 /mnt/foo" and "/bar" for
"mount --bind /mnt/foo/bar /mnt/bar".</doc>
-
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">a string containing the root, or %NULL if not supported.</doc>
<type name="utf8" c:type="const char*"/>
</function>
<function name="unix_mount_guess_can_eject" c:identifier="g_unix_mount_guess_can_eject">
<doc xml:space="preserve">Guesses whether a Unix mount can be ejected.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mount_entry is deemed to be ejectable.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="unix_mount_guess_icon" c:identifier="g_unix_mount_guess_icon">
<doc xml:space="preserve">Guesses the icon of a Unix mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon</doc>
<type name="Icon" c:type="GIcon*"/>
<function name="unix_mount_guess_name" c:identifier="g_unix_mount_guess_name">
<doc xml:space="preserve">Guesses the name of a Unix mount.
The result is a translated string.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">A newly allocated string that must
be freed with g_free()</doc>
</function>
<function name="unix_mount_guess_should_display" c:identifier="g_unix_mount_guess_should_display">
<doc xml:space="preserve">Guesses whether a Unix mount should be displayed in the UI.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mount_entry is deemed to be displayable.</doc>
<type name="gboolean" c:type="gboolean"/>
</function>
<function name="unix_mount_guess_symbolic_icon" c:identifier="g_unix_mount_guess_symbolic_icon" version="2.34">
<doc xml:space="preserve">Guesses the symbolic icon of a Unix mount.</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">a #GIcon</doc>
<type name="Icon" c:type="GIcon*"/>
</function>
<function name="unix_mount_is_readonly" c:identifier="g_unix_mount_is_readonly">
<doc xml:space="preserve">Checks if a unix mount is mounted read only.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mount_entry is read only.</doc>
<type name="gboolean" c:type="gboolean"/>
The definition of what a ‘system’ mount entry is may change over time as new
file system types and device paths are ignored.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the unix mount is for a system path.</doc>
<type name="gboolean" c:type="gboolean"/>
If more mount points have the same mount path, the last matching mount point
is returned.</doc>
-
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve">a #GUnixMountPoint, or %NULL if no match
is found.</doc>
</function>
<function name="unix_mount_points_changed_since" c:identifier="g_unix_mount_points_changed_since">
<doc xml:space="preserve">Checks if the unix mount points have changed since a given unix time.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mount points have changed since @time.</doc>
<type name="gboolean" c:type="gboolean"/>
If @time_read is set, it will be filled with the mount timestamp,
allowing for checking if the mounts have changed with
g_unix_mount_points_changed_since().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
a #GList of the UNIX mountpoints.</doc>
</function>
<function name="unix_mounts_changed_since" c:identifier="g_unix_mounts_changed_since">
<doc xml:space="preserve">Checks if the unix mounts have changed since a given unix time.</doc>
-
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the mounts have changed since @time.</doc>
<type name="gboolean" c:type="gboolean"/>
If @time_read is set, it will be filled with the mount
timestamp, allowing for checking if the mounts have changed
with g_unix_mounts_changed_since().</doc>
-
<return-value transfer-ownership="full">
<doc xml:space="preserve">
a #GList of the UNIX mounts.</doc>